예제 #1
0
 /// <summary>
 /// serialization method of photon
 /// </summary>
 /// <param name="stream"></param>
 /// <param name="info"></param>
 public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
 {
     m_PositionControl.OnPhotonSerializeView(transform.position, stream, info);
     m_RotationControl.OnPhotonSerializeView(transform.rotation, stream, info);
     m_ScaleControl.OnPhotonSerializeView(transform.localScale, stream, info);
     if (isMine == false && m_PositionModel.DrawErrorGizmo == true)
     {
         DoDrawEstimatedPositionError();
     }
     if (stream.isWriting)
     {
         //We own this player: send the others our data
         stream.SendNext(gameObject.name);
         stream.SendNext(HeatTarget.position);
         stream.SendNext(HeatTarget.rotation);
         stream.SendNext(Controller.m_PlayerState);
         stream.SendNext(Controller.grounded);
         stream.SendNext(Controller.vel);
     }
     else
     {
         //Network player, receive data
         RemotePlayerName = (string)stream.ReceiveNext();
         HeadPos          = (Vector3)stream.ReceiveNext();
         HeadRot          = (Quaternion)stream.ReceiveNext();
         m_state          = (PlayerState)stream.ReceiveNext();
         m_grounded       = (bool)stream.ReceiveNext();
         NetVel           = (Vector3)stream.ReceiveNext();
         //
         m_ReceivedNetworkUpdate = true;
     }
 }
예제 #2
0
 /// <summary>
 /// serialization method of photon
 /// </summary>
 /// <param name="stream"></param>
 /// <param name="info"></param>
 public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
 {
     m_PositionControl.OnPhotonSerializeView(transform.localPosition, stream, info);
     m_RotationControl.OnPhotonSerializeView(transform.localRotation, stream, info);
     m_ScaleControl.OnPhotonSerializeView(transform.localScale, stream, info);
     if (isMine == false && m_PositionModel.DrawErrorGizmo == true)
     {
         DoDrawEstimatedPositionError();
     }
     if (stream.isWriting)
     {
         //We own this player: send the others our data
         stream.SendNext(gameObject.name);
         stream.SendNext(HeatTarget.position);
         stream.SendNext(HeatTarget.rotation);
         stream.SendNext(Controller.state);
         stream.SendNext(Controller.grounded);
         stream.SendNext(GManager.CurrentGun.GunID);
         stream.SendNext(Settings.m_Team.ToString());
         stream.SendNext(WeaponState);
     }
     else
     {
         //Network player, receive data
         RemotePlayerName        = (string)stream.ReceiveNext();
         HeadPos                 = (Vector3)stream.ReceiveNext();
         HeadRot                 = (Quaternion)stream.ReceiveNext();
         m_state                 = (int)stream.ReceiveNext();
         m_grounded              = (bool)stream.ReceiveNext();
         CurNetGun               = (int)stream.ReceiveNext();
         RemoteTeam              = (string)stream.ReceiveNext();
         m_Upper.m_state         = (string)stream.ReceiveNext();
         m_ReceivedNetworkUpdate = true;
     }
 }
예제 #3
0
    public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
    {
        m_PositionControl.OnPhotonSerializeView(transform.position, stream, info);
        m_RotationControl.OnPhotonSerializeView(transform.rotation, stream, info);
        m_ScaleControl.OnPhotonSerializeView(transform.localScale, stream, info);

        if (stream.isWriting)
        {
        }
        else
        {
        }
    }
예제 #4
0
    public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
    {
        m_PositionControl.OnPhotonSerializeView(transform.localPosition, stream, info);
        m_RotationControl.OnPhotonSerializeView(transform.localRotation, stream, info);
        m_ScaleControl.OnPhotonSerializeView(transform.localScale, stream, info);

        if (m_PhotonView.isMine == false && m_PositionModel.DrawErrorGizmo == true)
        {
            DoDrawEstimatedPositionError();
        }

        if (stream.isReading == true)
        {
            m_ReceivedNetworkUpdate = true;
        }
    }
 /// <summary>
 /// serialization method of photon
 /// </summary>
 /// <param name="stream"></param>
 /// <param name="info"></param>
 public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
 {
     m_PositionControl.OnPhotonSerializeView(transform.position, stream, info);
     m_RotationControl.OnPhotonSerializeView(transform.rotation, stream, info);
     m_ScaleControl.OnPhotonSerializeView(transform.localScale, stream, info);
     if (isMine == false && m_PositionModel.DrawErrorGizmo == true)
     {
         DoDrawEstimatedPositionError();
     }
     if (stream.isWriting)
     {
         //We own this player: send the others our data
         if (!PlayerCar.isPlayerInsideVehicle)
         {
             stream.SendNext(HeatTarget.position);
             stream.SendNext(HeatTarget.rotation);
         }
         else
         {
             if (PlayerCar.isInVehicle)// is driver
             {
                 stream.SendNext(PlayerCar.Vehicle.HeatLook.position);
                 stream.SendNext(PlayerCar.Vehicle.HeatLook.rotation);
             }
             else // is passenger
             {
                 stream.SendNext(PlayerCar.m_Seat.HeatLook.transform.position);
                 stream.SendNext(PlayerCar.m_Seat.HeatLook.transform.rotation);
             }
         }
         stream.SendNext(Controller.m_PlayerState);
         stream.SendNext(Controller.grounded);
         stream.SendNext(Controller.vel);
     }
     else
     {
         //Network player, receive data
         HeadPos    = (Vector3)stream.ReceiveNext();
         HeadRot    = (Quaternion)stream.ReceiveNext();
         m_state    = (PlayerState)stream.ReceiveNext();
         m_grounded = (bool)stream.ReceiveNext();
         NetVel     = (Vector3)stream.ReceiveNext();
         //
         m_ReceivedNetworkUpdate = true;
     }
 }
예제 #6
0
    public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
    {
        m_PositionControl.OnPhotonSerializeView(transform.position, stream, info);
        m_RotationControl.OnPhotonSerializeView(transform.rotation, stream, info);
        m_ScaleControl.OnPhotonSerializeView(transform.localScale, stream, info);
        if (isMine == false && m_PositionModel.DrawErrorGizmo == true)
        {
            DoDrawEstimatedPositionError();
        }
        if (stream.isWriting)
        {
            //We own this player: send the others our data
            stream.SendNext(gameObject.name);
            stream.SendNext(HeatTarget.position);
            stream.SendNext(HeatTarget.rotation);
            stream.SendNext(Controller.m_PlayerState);
            stream.SendNext(Controller.m_PlayerAttackState);
            stream.SendNext(Controller.grounded);
            stream.SendNext(Controller.vel);
            stream.SendNext(weaponController.playerWeaponNum);

            if (attackController.isAttack)
            {
                attackController.isAttack = false;
                stream.SendNext(true);
            }
            else
            {
                stream.SendNext(false);
            }

            for (int i = 0; i < 3; i++)
            {
                stream.SendNext(i);
                if (weaponChange.weapons[i] != null)
                {
                    stream.SendNext(weaponChange.weapons[i].weaponName);
                }
                else
                {
                    stream.SendNext("null");
                }
            }
        }
        else
        {
            //Network player, receive data
            RemotePlayerName    = (string)stream.ReceiveNext();
            HeadPos             = (Vector3)stream.ReceiveNext();
            HeadRot             = (Quaternion)stream.ReceiveNext();
            m_state             = (PlayerState)stream.ReceiveNext();
            m_playerWeaponState = (PlayerWeaponState)stream.ReceiveNext();
            m_grounded          = (bool)stream.ReceiveNext();
            NetVel    = (Vector3)stream.ReceiveNext();
            weaponNum = (int)stream.ReceiveNext();
            isAttack  = (bool)stream.ReceiveNext();
            if (isAttack)
            {
                m_PlayerAnimation.AnimationAttack();
            }

            for (int i = 0; i < 3; i++)
            {
                int    idx     = (int)stream.ReceiveNext();
                string idxName = (string)stream.ReceiveNext();
                weaponChange.LocalWeaponChange(idx, idxName);
            }

            m_ReceivedNetworkUpdate = true;
        }
    }