PeekNext
How do I use Peek Next
Below are practical examples compiled from projects for learning and reference purposes
Featured Snippets
Line | Code | Ex.. |
---|---|---|
369 | if( stream.PeekNext() is bool == false ) | 1 |
462 | if( stream.PeekNext() is byte[] ) | 2 |
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 }
PeekNext 136 lượt xem
Gõ tìm kiếm nhanh...