示例#1
0
    // Update is called once per frame
    void Update()
    {
        float deltaTime     = UnityEngine.Time.deltaTime;
        float currentTimeMs = UnityEngine.Time.time;
        float horizontal    = Input.GetAxis("Horizontal");
        float vertical      = Input.GetAxis("Vertical");

        accumulatedMove.x += horizontal;
        accumulatedMove.y += vertical;

        accumulatedMove.x = (float)math.clamp(accumulatedMove.x, -1.0, 1.0);
        accumulatedMove.y = (float)math.clamp(accumulatedMove.y, -1.0, 1.0);

        //Debug.Log("cur:"+currentTimeMs+" vs "+(lastUpdateMs+updateRateMs)+" both:"+lastUpdateMs+" + "+updateRateMs);
        if (currentTimeMs > (lastUpdateMs + updateRateMs))
        {
            //Debug.Log("Time:"+currentTimeMs+" Accumulated:"+accumulatedMove);
            ClientMessageMoveJoy movejoy = new ClientMessageMoveJoy();
            movejoy.moveVector.x = accumulatedMove.x;
            movejoy.moveVector.y = accumulatedMove.y;
            ServerConnection.Send(movejoy);

            lastUpdateMs      = currentTimeMs;
            accumulatedMove.x = 0;
            accumulatedMove.y = 0;
        }
    }
示例#2
0
    public static void ParseIncomingMessage(NetworkConnection connection, DataStreamReader stream,
                                            EntityCommandBuffer.Concurrent commandBuffer, int connectionIndex, UdpCNetworkDriver.Concurrent driver)
    {
        var  readerCtx = default(DataStreamReader.Context);
        uint messageID = stream.ReadUInt(ref readerCtx);

        if (messageID == ClientMessages.ClientMessageHello.id)
        {
            ClientMessageHello hello = new ClientMessageHello();
            hello.Recieve(connection, stream, commandBuffer, connectionIndex, driver);
        }
        else if (messageID == ClientMessageGoodbye.id)
        {
            ClientMessageGoodbye msg = new ClientMessageGoodbye();
            msg.Recieve(connection, stream, commandBuffer, connectionIndex, driver);
        }
        else if (messageID == ClientMessageFire.id)
        {
            ClientMessageFire msg = new ClientMessageFire();
            msg.Recieve(connection, stream, commandBuffer, connectionIndex, driver);
        }
        else if (messageID == ClientMessageShield.id)
        {
            ClientMessageShield msg = new ClientMessageShield();
            msg.Recieve(connection, stream, commandBuffer, connectionIndex, driver);
        }
        else if (messageID == ClientMessageMoveJoy.id)
        {
            ClientMessageMoveJoy msg = new ClientMessageMoveJoy();
            msg.Recieve(connection, stream, commandBuffer, connectionIndex, driver);
        }
        else if (messageID == ClientMessagePing.id)
        {
            ClientMessagePing msg = new ClientMessagePing();
            msg.Recieve(connection, stream, commandBuffer, connectionIndex, driver);
        }
    }