Ejemplo n.º 1
0
 public void _Deserialize(ThirdPersonPeriodicUpdate pkt, MemoryStream m)
 {
     pkt.thisEntity = Data_serializers_const.ser_M_liteEntitySerializer.Deserialize(m);
     pkt.m_Move     = Data_serializers_const.ser_M_liteVector3Serializer.Deserialize(m);
     pkt.position   = Data_serializers_const.ser_ChunkedVectorSerializer.Deserialize(m);
     pkt.crouch     = Data_serializers_const.ser_M_liteBoolSerializer.Deserialize(m);
     pkt.m_Jump     = Data_serializers_const.ser_M_liteBoolSerializer.Deserialize(m);
 }
Ejemplo n.º 2
0
        public static void SendThirdPersonPeriodicUpdate(ThirdPersonPeriodicUpdate pkt, [Optional()][DefaultParameterValue(-1)] int connectionId)
        {
            MemoryStream m = new MemoryStream();

            m.WriteByte(11);
            LiteNetworking.Networking.localPacketPlayer = LiteNetworking.LobbyConnector.ConvertConnectionToPlayer(connectionId);
            ConstRefs.mirror_ThirdPersonPeriodicUpdate._Serialize(pkt, m);
            Networking.TransmitPacket(m, connectionId);
        }
Ejemplo n.º 3
0
 public void _Serialize(ThirdPersonPeriodicUpdate pkt, MemoryStream m)
 {
     byte[] thisEntity = Data_serializers_const.ser_M_liteEntitySerializer.Serialize(pkt.thisEntity);
     m.Write(thisEntity, 0, thisEntity.Length);
     byte[] m_Move = Data_serializers_const.ser_M_liteVector3Serializer.Serialize(pkt.m_Move);
     m.Write(m_Move, 0, m_Move.Length);
     byte[] position = Data_serializers_const.ser_ChunkedVectorSerializer.Serialize(pkt.position);
     m.Write(position, 0, position.Length);
     byte[] crouch = Data_serializers_const.ser_M_liteBoolSerializer.Serialize(pkt.crouch);
     m.Write(crouch, 0, crouch.Length);
     byte[] m_Jump = Data_serializers_const.ser_M_liteBoolSerializer.Serialize(pkt.m_Jump);
     m.Write(m_Jump, 0, m_Jump.Length);
 }
Ejemplo n.º 4
0
    // Fixed update is called in sync with physics
    private void FixedUpdate()
    {
        if (Networking.HasLocalAuthority(gameObject))
        {
            // read inputs
            float h      = CrossPlatformInputManager.GetAxis("Horizontal");
            float v      = CrossPlatformInputManager.GetAxis("Vertical");
            bool  crouch = Input.GetKey(KeyCode.C);

            // calculate move direction to pass to character
            if (m_Cam != null)
            {
                // calculate camera relative direction to move:
                m_CamForward = Vector3.Scale(m_Cam.forward, new Vector3(1, 0, 1)).normalized;
                m_Move       = v * m_CamForward + h * m_Cam.right;
            }
            else
            {
                // we use world-relative directions in the case of no main camera
                m_Move = v * Vector3.forward + h * Vector3.right;
            }
#if !MOBILE_INPUT
            // walk speed multiplier
            if (Input.GetKey(KeyCode.LeftShift))
            {
                m_Move *= 0.5f;
            }
#endif

            // pass all parameters to the character control script
            m_Character.Move(m_Move, crouch, m_Jump);

            ThirdPersonPeriodicUpdate update = new ThirdPersonPeriodicUpdate();
            update.m_Jump     = m_Jump;
            update.m_Move     = m_Move;
            update.thisEntity = GetComponent <NetworkedEntity>();
            update.position   = transform.position;
            update.crouch     = crouch;
            LiteNetworkingGenerated.PacketSender.SendThirdPersonPeriodicUpdate(update);

            m_Jump = false;
        }
    }