public void Simulate(uint tickIndex)
    {
        if (_client.IsConnected)
        {
            bool up    = Input.GetKey(KeyCode.W);
            bool right = Input.GetKey(KeyCode.D);
            bool down  = Input.GetKey(KeyCode.S);
            bool left  = Input.GetKey(KeyCode.A);
            bool space = Input.GetKeyDown(KeyCode.Space);

            if (up || right || down || left || space)
            {
                Vector3 input = GetMovement(up, right, down, left);
                HandleInputHistory(input);
                var inputMessage = new PlayerInputMessage(_client.LocalPlayerId, input, space);
                _client.SendMessage(inputMessage);

                if (_localPlayer == null)
                {
                    _localPlayer = _playerRegistry.GetControlledPlayerById(_client.LocalPlayerId);
                }

                _localPlayer.BufferInput(new InputData(input, tickIndex));
            }
            else
            {
                HandleInputHistory(Vector3.zero);
            }
        }
    }
Example #2
0
 public void Simulate(uint tickIndex)
 {
     if (_client.IsConnected)
     {
         var clockSyncMessage = new ClockSyncMessage();
         _client.SendMessage(clockSyncMessage);
     }
 }