PeekNext() public method

Read next piece of data from the stream without advancing the "current" item.
public PeekNext ( ) : object
return object
コード例 #1
0
    private void DeserializeDataDiscretly(PhotonStream stream)
    {
        for (int index = 0; index < this.m_SynchronizeLayers.Count; ++index)
        {
            if (this.m_SynchronizeLayers[index].SynchronizeType == PhotonAnimatorView.SynchronizeType.Discrete)
            {
                this.m_Animator.SetLayerWeight(this.m_SynchronizeLayers[index].LayerIndex, (float)stream.ReceiveNext());
            }
        }
        for (int index = 0; index < this.m_SynchronizeParameters.Count; ++index)
        {
            PhotonAnimatorView.SynchronizedParameter synchronizeParameter = this.m_SynchronizeParameters[index];
            if (synchronizeParameter.SynchronizeType == PhotonAnimatorView.SynchronizeType.Discrete)
            {
                PhotonAnimatorView.ParameterType type = synchronizeParameter.Type;
                switch (type)
                {
                case PhotonAnimatorView.ParameterType.Float:
                    if (!(stream.PeekNext() is float))
                    {
                        return;
                    }
                    this.m_Animator.SetFloat(synchronizeParameter.Name, (float)stream.ReceiveNext());
                    continue;

                case PhotonAnimatorView.ParameterType.Int:
                    if (!(stream.PeekNext() is int))
                    {
                        return;
                    }
                    this.m_Animator.SetInteger(synchronizeParameter.Name, (int)stream.ReceiveNext());
                    continue;

                case PhotonAnimatorView.ParameterType.Bool:
                    if (!(stream.PeekNext() is bool))
                    {
                        return;
                    }
                    this.m_Animator.SetBool(synchronizeParameter.Name, (bool)stream.ReceiveNext());
                    continue;

                default:
                    if (type == PhotonAnimatorView.ParameterType.Trigger)
                    {
                        if (!(stream.PeekNext() is bool))
                        {
                            return;
                        }
                        if ((bool)stream.ReceiveNext())
                        {
                            this.m_Animator.SetTrigger(synchronizeParameter.Name);
                            continue;
                        }
                        continue;
                    }
                    continue;
                }
            }
        }
    }
コード例 #2
0
    private void DeserializeDataDiscretly(PhotonStream stream)
    {
        for (int i = 0; i < this.m_SynchronizeLayers.Count; ++i)
        {
            if (this.m_SynchronizeLayers[i].SynchronizeType == SynchronizeType.Discrete)
            {
                this.m_Animator.SetLayerWeight(this.m_SynchronizeLayers[i].LayerIndex, (float)stream.ReceiveNext());
            }
        }

        for (int i = 0; i < this.m_SynchronizeParameters.Count; ++i)
        {
            SynchronizedParameter parameter = this.m_SynchronizeParameters[i];

            if (parameter.SynchronizeType == SynchronizeType.Discrete)
            {
                switch (parameter.Type)
                {
                case ParameterType.Bool:
                    if (stream.PeekNext() is bool == false)
                    {
                        return;
                    }
                    this.m_Animator.SetBool(parameter.Name, (bool)stream.ReceiveNext());
                    break;

                case ParameterType.Float:
                    if (stream.PeekNext() is float == false)
                    {
                        return;
                    }

                    this.m_Animator.SetFloat(parameter.Name, (float)stream.ReceiveNext());
                    break;

                case ParameterType.Int:
                    if (stream.PeekNext() is int == false)
                    {
                        return;
                    }

                    this.m_Animator.SetInteger(parameter.Name, (int)stream.ReceiveNext());
                    break;

                case ParameterType.Trigger:
                    if (stream.PeekNext() is bool == false)
                    {
                        return;
                    }

                    if ((bool)stream.ReceiveNext())
                    {
                        this.m_Animator.SetTrigger(parameter.Name);
                    }
                    break;
                }
            }
        }
    }
コード例 #3
0
 public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
 {
     if (this.m_Animator == null)
     {
         return;
     }
     if (stream.isWriting)
     {
         if (this.m_WasSynchronizeTypeChanged)
         {
             this.m_StreamQueue.Reset();
             this.SerializeSynchronizationTypeState(stream);
             this.m_WasSynchronizeTypeChanged = false;
         }
         this.m_StreamQueue.Serialize(stream);
         this.SerializeDataDiscretly(stream);
     }
     else
     {
         if (stream.PeekNext() is byte[])
         {
             this.DeserializeSynchronizationTypeState(stream);
         }
         this.m_StreamQueue.Deserialize(stream);
         this.DeserializeDataDiscretly(stream);
     }
 }
コード例 #4
0
    void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
    {
        if (m_Animator == null)
        {
            return;
        }

        if (stream.isWriting == true)
        {
            if (m_WasSynchronizeTypeChanged == true)
            {
                m_StreamQueue.Reset();
                SerializeSynchronizationTypeState(stream);

                m_WasSynchronizeTypeChanged = false;
            }

            m_StreamQueue.Serialize(stream);
            SerializeDataDiscretly(stream);
        }
        else
        {
#if PHOTON_DEVELOP
            if (ReceivingSender != null)
            {
                ReceivingSender.OnPhotonSerializeView(stream, info);
            }
            else
#endif
            {
                if (stream.PeekNext() is byte[])
                {
                    DeserializeSynchronizationTypeState(stream);
                }

                m_StreamQueue.Deserialize(stream);
                DeserializeDataDiscretly(stream);
            }
        }
    }
コード例 #5
0
    void OnPhotonSerializeView( PhotonStream stream, PhotonMessageInfo info )
    {
        if( m_Animator == null )
        {
            return;
        }

        if( stream.isWriting == true )
        {
            if( m_WasSynchronizeTypeChanged == true )
            {
                m_StreamQueue.Reset();
                SerializeSynchronizationTypeState( stream );

                m_WasSynchronizeTypeChanged = false;
            }

            m_StreamQueue.Serialize( stream );
            SerializeDataDiscretly( stream );
        }
        else
        {
#if PHOTON_DEVELOP
            if( ReceivingSender != null )
            {
                ReceivingSender.OnPhotonSerializeView( stream, info );
            }
            else
#endif
            {
                if( stream.PeekNext() is byte[] )
                {
                    DeserializeSynchronizationTypeState( stream );
                }

                m_StreamQueue.Deserialize( stream );
                DeserializeDataDiscretly( stream );
            }
        }
    }
コード例 #6
0
    void DeserializeDataDiscretly( PhotonStream stream )
    {
        for( int i = 0; i < m_SynchronizeLayers.Count; ++i )
        {
            if( m_SynchronizeLayers[ i ].SynchronizeType == SynchronizeType.Discrete )
            {
                m_Animator.SetLayerWeight( m_SynchronizeLayers[ i ].LayerIndex, (float)stream.ReceiveNext() );
            }
        }

        for( int i = 0; i < m_SynchronizeParameters.Count; ++i )
        {
            SynchronizedParameter parameter = m_SynchronizeParameters[ i ];

            if( parameter.SynchronizeType == SynchronizeType.Discrete )
            {
                switch( parameter.Type )
                {
                case ParameterType.Bool:
                    if( stream.PeekNext() is bool == false )
                    {
                        return;
                    }

                    m_Animator.SetBool( parameter.Name, (bool)stream.ReceiveNext() );
                    break;
                case ParameterType.Float:
                    if( stream.PeekNext() is float == false )
                    {
                        return;
                    }

                    m_Animator.SetFloat( parameter.Name, (float)stream.ReceiveNext() );
                    break;
                case ParameterType.Int:
                    if( stream.PeekNext() is int == false )
                    {
                        return;
                    }

                    m_Animator.SetInteger( parameter.Name, (int)stream.ReceiveNext() );
                    break;
                case ParameterType.Trigger:

                    break;
                }
            }
        }
    }
コード例 #7
0
    private void DeserializeDataDiscretly(PhotonStream stream)
    {
        for (int i = 0; i < this.m_SynchronizeLayers.get_Count(); i++)
        {
            if (this.m_SynchronizeLayers.get_Item(i).SynchronizeType == PhotonAnimatorView.SynchronizeType.Discrete)
            {
                this.m_Animator.SetLayerWeight(this.m_SynchronizeLayers.get_Item(i).LayerIndex, (float)stream.ReceiveNext());
            }
        }
        for (int j = 0; j < this.m_SynchronizeParameters.get_Count(); j++)
        {
            PhotonAnimatorView.SynchronizedParameter synchronizedParameter = this.m_SynchronizeParameters.get_Item(j);
            if (synchronizedParameter.SynchronizeType == PhotonAnimatorView.SynchronizeType.Discrete)
            {
                PhotonAnimatorView.ParameterType type = synchronizedParameter.Type;
                switch (type)
                {
                case PhotonAnimatorView.ParameterType.Float:
                    if (!(stream.PeekNext() is float))
                    {
                        return;
                    }
                    this.m_Animator.SetFloat(synchronizedParameter.Name, (float)stream.ReceiveNext());
                    goto IL_173;

                case (PhotonAnimatorView.ParameterType) 2:
IL_99:
                    if (type != PhotonAnimatorView.ParameterType.Trigger)
                    {
                        goto IL_173;
                    }
                    if (!(stream.PeekNext() is bool))
                    {
                        return;
                    }
                    if ((bool)stream.ReceiveNext())
                    {
                        this.m_Animator.SetTrigger(synchronizedParameter.Name);
                    }
                    goto IL_173;

                case PhotonAnimatorView.ParameterType.Int:
                    if (!(stream.PeekNext() is int))
                    {
                        return;
                    }
                    this.m_Animator.SetInteger(synchronizedParameter.Name, (int)stream.ReceiveNext());
                    goto IL_173;

                case PhotonAnimatorView.ParameterType.Bool:
                    if (!(stream.PeekNext() is bool))
                    {
                        return;
                    }
                    this.m_Animator.SetBool(synchronizedParameter.Name, (bool)stream.ReceiveNext());
                    goto IL_173;
                }
                goto IL_99;
            }
            IL_173 :;
        }
    }
コード例 #8
0
    private void OnDeserializeUnreliable(PhotonStream stream, PhotonMessageInfo info)
    {
#if PHOTON_DEVELOP
        if( ReceivingSender != null )
        {
            ReceivingSender.OnPhotonSerializeView( stream, info );
        }
        else
#endif
        {
            if (stream.PeekNext() is byte[])
            {
                DeserializeSynchronizationTypeState(stream);
            }

            this.m_StreamQueue.Deserialize(stream);
            DeserializeDataDiscretly(stream);
        }
    }