Deserialize









How do I use Deserialize
Below are practical examples compiled from projects for learning and reference purposes

Featured Snippets


File name: AccountService.cs Copy
173     private void ParseResult(string result)
174     {
175         if (string.IsNullOrEmpty(result))
176         {
177             this.Message = "Server's response was empty. Please register through account website during this service interruption.";
178             return;
179         }
180
181         Dictionary values = JsonConvert.DeserializeObject>(result);
182         if (values == null)
183         {
184             this.Message = "Service temporarily unavailable. Please register through account website.";
185             return;
186         }
187
188         int returnCodeInt = -1;
189         string returnCodeString = string.Empty;
190         string message;
191
192         values.TryGetValue("ReturnCode", out returnCodeString);
193         values.TryGetValue("Message", out message);
194         int.TryParse(returnCodeString, out returnCodeInt);
195
196         this.ReturnCode = returnCodeInt;
197         if (returnCodeInt == 0)
198         {
199             // returnCode == 0 means: all ok. message is new AppId
200             this.AppId = message;
201         }
202         else
203         {
204             // any error gives returnCode != 0
205             this.AppId = string.Empty;
206             this.Message = message;
207         }
208     }
File name: PhotonAnimatorView.cs Copy
93     void Update()
94     {
95         if( m_PhotonView.isMine == false && PhotonNetwork.connected == true )
96         {
97             m_Animator.applyRootMotion = false;
98         }
99
100         if( m_PhotonView.isMine == true )
101         {
102             SerializeDataContinuously();
103         }
104         else
105         {
106             DeserializeDataContinuously();
107         }
108     }
File name: PhotonAnimatorView.cs Copy
275     void DeserializeDataContinuously()
276     {
277         if( m_StreamQueue.HasQueuedObjects() == false )
278         {
279             return;
280         }
281
282         for( int i = 0; i < m_SynchronizeLayers.Count; ++i )
283         {
284             if( m_SynchronizeLayers[ i ].SynchronizeType == SynchronizeType.Continuous )
285             {
286                 m_Animator.SetLayerWeight( m_SynchronizeLayers[ i ].LayerIndex, (float)m_StreamQueue.ReceiveNext() );
287             }
288         }
289
290         for( int i = 0; i < m_SynchronizeParameters.Count; ++i )
291         {
292             SynchronizedParameter parameter = m_SynchronizeParameters[ i ];
293
294             if( parameter.SynchronizeType == SynchronizeType.Continuous )
295             {
296                 switch( parameter.Type )
297                 {
298                 case ParameterType.Bool:
299                     m_Animator.SetBool( parameter.Name, (bool)m_StreamQueue.ReceiveNext() );
300                     break;
301                 case ParameterType.Float:
302                     m_Animator.SetFloat( parameter.Name, (float)m_StreamQueue.ReceiveNext() );
303                     break;
304                 case ParameterType.Int:
305                     m_Animator.SetInteger( parameter.Name, (int)m_StreamQueue.ReceiveNext() );
306                     break;
307                 case ParameterType.Trigger:
308
309                     break;
310                 }
311             }
312         }
313     }
File name: PhotonAnimatorView.cs Copy
350     void DeserializeDataDiscretly( PhotonStream stream )
351     {
352         for( int i = 0; i < m_SynchronizeLayers.Count; ++i )
353         {
354             if( m_SynchronizeLayers[ i ].SynchronizeType == SynchronizeType.Discrete )
355             {
356                 m_Animator.SetLayerWeight( m_SynchronizeLayers[ i ].LayerIndex, (float)stream.ReceiveNext() );
357             }
358         }
359
360         for( int i = 0; i < m_SynchronizeParameters.Count; ++i )
361         {
362             SynchronizedParameter parameter = m_SynchronizeParameters[ i ];
363
364             if( parameter.SynchronizeType == SynchronizeType.Discrete )
365             {
366                 switch( parameter.Type )
367                 {
368                 case ParameterType.Bool:
369                     if( stream.PeekNext() is bool == false )
370                     {
371                         return;
372                     }
373
374                     m_Animator.SetBool( parameter.Name, (bool)stream.ReceiveNext() );
375                     break;
376                 case ParameterType.Float:
377                     if( stream.PeekNext() is float == false )
378                     {
379                         return;
380                     }
381
382                     m_Animator.SetFloat( parameter.Name, (float)stream.ReceiveNext() );
383                     break;
384                 case ParameterType.Int:
385                     if( stream.PeekNext() is int == false )
386                     {
387                         return;
388                     }
389
390                     m_Animator.SetInteger( parameter.Name, (int)stream.ReceiveNext() );
391                     break;
392                 case ParameterType.Trigger:
393
394                     break;
395                 }
396             }
397         }
398     }
File name: PhotonAnimatorView.cs Copy
417     void DeserializeSynchronizationTypeState( PhotonStream stream )
418     {
419         byte[] state = (byte[])stream.ReceiveNext();
420
421         for( int i = 0; i < m_SynchronizeLayers.Count; ++i )
422         {
423             m_SynchronizeLayers[ i ].SynchronizeType = (SynchronizeType)state[ i ];
424         }
425
426         for( int i = 0; i < m_SynchronizeParameters.Count; ++i )
427         {
428             m_SynchronizeParameters[ i ].SynchronizeType = (SynchronizeType)state[ m_SynchronizeLayers.Count + i ];
429         }
430     }
File name: PhotonAnimatorView.cs Copy
432     void OnPhotonSerializeView( PhotonStream stream, PhotonMessageInfo info )
433     {
434         if( m_Animator == null )
435         {
436             return;
437         }
438
439         if( stream.isWriting == true )
440         {
441             if( m_WasSynchronizeTypeChanged == true )
442             {
443                 m_StreamQueue.Reset();
444                 SerializeSynchronizationTypeState( stream );
445
446                 m_WasSynchronizeTypeChanged = false;
447             }
448
449             m_StreamQueue.Serialize( stream );
450             SerializeDataDiscretly( stream );
451         }
452         else
453         {
454#if PHOTON_DEVELOP
455             if( ReceivingSender != null )
456             {
457                 ReceivingSender.OnPhotonSerializeView( stream, info );
458             }
459             else
460#endif
461             {
462                 if( stream.PeekNext() is byte[] )
463                 {
464                     DeserializeSynchronizationTypeState( stream );
465                 }
466
467                 m_StreamQueue.Deserialize( stream );
468                 DeserializeDataDiscretly( stream );
469             }
470         }
471     }
File name: PhotonTransformViewPositionControl.cs Copy
163     public void OnPhotonSerializeView( Vector3 currentPosition, PhotonStream stream, PhotonMessageInfo info )
164     {
165         if( m_Model.SynchronizeEnabled == false )
166         {
167             return;
168         }
169
170         if( stream.isWriting == true )
171         {
172             SerializeData( currentPosition, stream, info );
173         }
174         else
175         {
176             DeserializeData( stream, info );
177         }
178
179         m_LastSerializeTime = PhotonNetwork.time;
180         m_UpdatedPositionAfterOnSerialize = false;
181     }
File name: PhotonTransformViewPositionControl.cs Copy
195     void DeserializeData( PhotonStream stream, PhotonMessageInfo info )
196     {
197         m_OldNetworkPositions.Enqueue( m_NetworkPosition );
198
199         while( m_OldNetworkPositions.Count > m_Model.ExtrapolateNumberOfStoredPositions )
200         {
201             m_OldNetworkPositions.Dequeue();
202         }
203
204         m_NetworkPosition = (Vector3)stream.ReceiveNext();
205
206         if( m_Model.ExtrapolateOption == PhotonTransformViewPositionModel.ExtrapolateOptions.SynchronizeValues ||
207             m_Model.InterpolateOption == PhotonTransformViewPositionModel.InterpolateOptions.SynchronizeValues )
208         {
209             m_SynchronizedSpeed = (Vector3)stream.ReceiveNext();
210             m_SynchronizedTurnSpeed = (float)stream.ReceiveNext();
211         }
212     }
File name: CustomTypes.cs Copy
32     internal static void Register()
33     {
34         PhotonPeer.RegisterType(typeof(Vector2), (byte)'W', SerializeVector2, DeserializeVector2);
35         PhotonPeer.RegisterType(typeof(Vector3), (byte)'V', SerializeVector3, DeserializeVector3);
36         PhotonPeer.RegisterType(typeof(Quaternion), (byte)'Q', SerializeQuaternion, DeserializeQuaternion);
37         PhotonPeer.RegisterType(typeof(PhotonPlayer), (byte)'P', SerializePhotonPlayer, DeserializePhotonPlayer);
38     }
File name: CustomTypes.cs Copy
62     private static object DeserializeVector3(MemoryStream inStream, short length)
63     {
64         Vector3 vo = new Vector3();
65         lock (memVector3)
66         {
67             inStream.Read(memVector3, 0, 3 * 4);
68             int index = 0;
69             Protocol.Deserialize(out vo.x, memVector3, ref index);
70             Protocol.Deserialize(out vo.y, memVector3, ref index);
71             Protocol.Deserialize(out vo.z, memVector3, ref index);
72         }
73
74         return vo;
75     }

Deserialize 133 lượt xem

Gõ tìm kiếm nhanh...