SerializeData
How do I use Serialize Data
Below are practical examples compiled from projects for learning and reference purposes
Featured Snippets
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
234 void SerializeDataContinuously()
235 {
236 if( m_Animator == null )
237 {
238 return;
239 }
240
241 for( int i = 0; i < m_SynchronizeLayers.Count; ++i )
242 {
243 if( m_SynchronizeLayers[ i ].SynchronizeType == SynchronizeType.Continuous )
244 {
245 m_StreamQueue.SendNext( m_Animator.GetLayerWeight( m_SynchronizeLayers[ i ].LayerIndex ) );
246 }
247 }
248
249 for( int i = 0; i < m_SynchronizeParameters.Count; ++i )
250 {
251 SynchronizedParameter parameter = m_SynchronizeParameters[ i ];
252
253 if( parameter.SynchronizeType == SynchronizeType.Continuous )
254 {
255
256 switch( parameter.Type )
257 {
258 case ParameterType.Bool:
259 m_StreamQueue.SendNext( m_Animator.GetBool( parameter.Name ) );
260 break;
261 case ParameterType.Float:
262 m_StreamQueue.SendNext( m_Animator.GetFloat( parameter.Name ) );
263 break;
264 case ParameterType.Int:
265 m_StreamQueue.SendNext( m_Animator.GetInteger( parameter.Name ) );
266 break;
267 case ParameterType.Trigger:
268
269 break;
270 }
271 }
272 }
273 }
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
315 void SerializeDataDiscretly( PhotonStream stream )
316 {
317 for( int i = 0; i < m_SynchronizeLayers.Count; ++i )
318 {
319 if( m_SynchronizeLayers[ i ].SynchronizeType == SynchronizeType.Discrete )
320 {
321 stream.SendNext( m_Animator.GetLayerWeight( m_SynchronizeLayers[ i ].LayerIndex ) );
322 }
323 }
324
325 for( int i = 0; i < m_SynchronizeParameters.Count; ++i )
326 {
327 SynchronizedParameter parameter = m_SynchronizeParameters[ i ];
328
329 if( parameter.SynchronizeType == SynchronizeType.Discrete )
330 {
331 switch( parameter.Type )
332 {
333 case ParameterType.Bool:
334 stream.SendNext( m_Animator.GetBool( parameter.Name ) );
335 break;
336 case ParameterType.Float:
337 stream.SendNext( m_Animator.GetFloat( parameter.Name ) );
338 break;
339 case ParameterType.Int:
340 stream.SendNext( m_Animator.GetInteger( parameter.Name ) );
341 break;
342 case ParameterType.Trigger:
343
344 break;
345 }
346 }
347 }
348 }
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
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
183 void SerializeData( Vector3 currentPosition, PhotonStream stream, PhotonMessageInfo info )
184 {
185 stream.SendNext( currentPosition );
186
187 if( m_Model.ExtrapolateOption == PhotonTransformViewPositionModel.ExtrapolateOptions.SynchronizeValues ||
188 m_Model.InterpolateOption == PhotonTransformViewPositionModel.InterpolateOptions.SynchronizeValues )
189 {
190 stream.SendNext( m_SynchronizedSpeed );
191 stream.SendNext( m_SynchronizedTurnSpeed );
192 }
193 }
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: NetworkingPeer.cs
Copy
637 private void ResetPhotonViewsOnSerialize()
638 {
639 foreach (PhotonView photonView in this.photonViewList.Values)
640 {
641 photonView.lastOnSerializeDataSent = null;
642 }
643 }
SerializeData 114 lượt xem
Gõ tìm kiếm nhanh...