Ejemplo n.º 1
0
    public void serverGetPlayerInput(String inputData)
    {
        if (GetTree().IsNetworkServer())
        {
            // Decode the input data
            GameStates.PlayerInput playerInput = new GameStates.PlayerInput();
            int parseIndex = 0;

            playerInput.Right = Int32.Parse(inputData.Split(";")[parseIndex]);
            parseIndex++;
            playerInput.Left = Int32.Parse(inputData.Split(";")[parseIndex]);
            parseIndex++;
            playerInput.Up = Int32.Parse(inputData.Split(";")[parseIndex]);
            parseIndex++;
            playerInput.Down = Int32.Parse(inputData.Split(";")[parseIndex]);
            parseIndex++;
            playerInput.RightWeaponAction = Int32.Parse(inputData.Split(";")[parseIndex]);
            parseIndex++;
            playerInput.LeftWeaponAction = Int32.Parse(inputData.Split(";")[parseIndex]);
            parseIndex++;
            playerInput.MousePosition.x = float.Parse(inputData.Split(";")[parseIndex]);
            parseIndex++;
            playerInput.MousePosition.y = float.Parse(inputData.Split(";")[parseIndex]);
            parseIndex++;
            playerInput.RightWeaponIndex = Int32.Parse(inputData.Split(";")[parseIndex]);
            parseIndex++;
            playerInput.LeftWeaponIndex = Int32.Parse(inputData.Split(";")[parseIndex]);
            parseIndex++;

            // Then cache the decoded data
            gameStates.cacheInput(GetTree().GetRpcSenderId(), playerInput);
        }
    }
Ejemplo n.º 2
0
    public void serverGetPlayerInput(String inputData)
    {
        if (GetTree().IsNetworkServer())
        {
            // Decode the input data
            GameStates.PlayerInput playerInput = new GameStates.PlayerInput();
            int parseIndex = 0;

            playerInput.right = bool.Parse(inputData.Split(";")[parseIndex]);
            parseIndex++;
            playerInput.left = bool.Parse(inputData.Split(";")[parseIndex]);
            parseIndex++;
            playerInput.up = bool.Parse(inputData.Split(";")[parseIndex]);
            parseIndex++;
            playerInput.down = bool.Parse(inputData.Split(";")[parseIndex]);
            parseIndex++;
            playerInput.primaryWepaon = bool.Parse(inputData.Split(";")[parseIndex]);
            parseIndex++;
            playerInput.secondaryWepaon = bool.Parse(inputData.Split(";")[parseIndex]);
            parseIndex++;
            playerInput.mousePosition.x = float.Parse(inputData.Split(";")[parseIndex]);
            parseIndex++;
            playerInput.mousePosition.y = float.Parse(inputData.Split(";")[parseIndex]);
            parseIndex++;
            playerInput.changePrimaryWeapon = bool.Parse(inputData.Split(";")[parseIndex]);
            parseIndex++;
            playerInput.changeSecondaryWeapon = bool.Parse(inputData.Split(";")[parseIndex]);
            parseIndex++;

            // Then cache the decoded data
            gameStates.cacheInput(GetTree().GetRpcSenderId(), playerInput);
        }
    }
Ejemplo n.º 3
0
    public void gatherInput(float delta)
    {
        GameStates.PlayerInput playerInput = new GameStates.PlayerInput();

        playerInput.right                 = Input.IsActionPressed("turn_right");
        playerInput.left                  = Input.IsActionPressed("turn_left");
        playerInput.up                    = Input.IsActionPressed("forward");
        playerInput.down                  = Input.IsActionPressed("backward");
        playerInput.primaryWepaon         = Input.IsActionPressed("left_click");
        playerInput.secondaryWepaon       = Input.IsActionPressed("right_click");
        playerInput.mousePosition         = GetGlobalMousePosition();
        playerInput.changePrimaryWeapon   = Input.IsActionJustPressed("change_primary_weapon");
        playerInput.changeSecondaryWeapon = Input.IsActionJustPressed("change_secondary_weapon");

        if (GetTree().IsNetworkServer())
        {
            gameStates.cacheInput(1, playerInput);
        }
        else
        {
            String inputData = "";
            inputData = inputData + playerInput.right + ";";
            inputData = inputData + playerInput.left + ";";
            inputData = inputData + playerInput.up + ";";
            inputData = inputData + playerInput.down + ";";
            inputData = inputData + playerInput.primaryWepaon + ";";
            inputData = inputData + playerInput.secondaryWepaon + ";";
            inputData = inputData + playerInput.mousePosition.x + ";";
            inputData = inputData + playerInput.mousePosition.y + ";";
            inputData = inputData + playerInput.changePrimaryWeapon + ";";
            inputData = inputData + playerInput.changeSecondaryWeapon + ";";

            RpcUnreliableId(1, nameof(serverGetPlayerInput), inputData);
        }
    }
Ejemplo n.º 4
0
    public void gatherInput(float delta)
    {
        if (Input.IsActionJustReleased("inventory"))
        {
            if (!_inventoryUI.Visible)
            {
                _inventoryUI.PopupCentered();
            }
            else
            {
                _inventoryUI.Hide();
            }
        }


        // Only read input is inventory is not open
        if (_inventoryUI == null || !_inventoryUI.Visible)
        {
            GameStates.PlayerInput playerInput = new GameStates.PlayerInput();



            if (Input.IsActionPressed("turn_right"))
            {
                playerInput.Right = (int)(GameStates.PlayerInput.InputAction.TRIGGER);
            }
            else
            {
                playerInput.Right = (int)(GameStates.PlayerInput.InputAction.NOT_TRIGGER);
            }

            if (Input.IsActionPressed("turn_left"))
            {
                playerInput.Left = (int)(GameStates.PlayerInput.InputAction.TRIGGER);
            }
            else
            {
                playerInput.Left = (int)(GameStates.PlayerInput.InputAction.NOT_TRIGGER);
            }

            if (Input.IsActionPressed("forward"))
            {
                playerInput.Up = (int)(GameStates.PlayerInput.InputAction.TRIGGER);
            }
            else
            {
                playerInput.Up = (int)(GameStates.PlayerInput.InputAction.NOT_TRIGGER);
            }

            if (Input.IsActionPressed("backward"))
            {
                playerInput.Down = (int)(GameStates.PlayerInput.InputAction.TRIGGER);
            }
            else
            {
                playerInput.Down = (int)(GameStates.PlayerInput.InputAction.NOT_TRIGGER);
            }

            if (Input.IsActionPressed("reload"))
            {
                playerInput.RightWeaponAction = (int)(GameStates.PlayerInput.InputAction.RELOAD);
                playerInput.LeftWeaponAction  = (int)(GameStates.PlayerInput.InputAction.RELOAD);
            }
            else
            {
                if (Input.IsActionPressed("left_click"))
                {
                    playerInput.LeftWeaponAction = (int)(GameStates.PlayerInput.InputAction.TRIGGER);
                }
                else
                {
                    playerInput.LeftWeaponAction = (int)(GameStates.PlayerInput.InputAction.NOT_TRIGGER);
                }

                if (Input.IsActionPressed("right_click"))
                {
                    playerInput.RightWeaponAction = (int)(GameStates.PlayerInput.InputAction.TRIGGER);
                }
                else
                {
                    playerInput.RightWeaponAction = (int)(GameStates.PlayerInput.InputAction.NOT_TRIGGER);
                }
            }

            playerInput.MousePosition = GetGlobalMousePosition();

            if (Input.IsKeyPressed((int)KeyList.Key4))
            {
                playerInput.RightWeaponIndex = 0;
            }
            else if (Input.IsKeyPressed((int)KeyList.Key5))
            {
                playerInput.RightWeaponIndex = 1;
            }
            else if (Input.IsKeyPressed((int)KeyList.Key6))
            {
                playerInput.RightWeaponIndex = 2;
            }
            else
            {
                playerInput.RightWeaponIndex = CurrentWeaponIndex[Weapon.WeaponOrder.Right];
            }

            if (Input.IsKeyPressed((int)KeyList.Key1))
            {
                playerInput.LeftWeaponIndex = 0;
            }
            else if (Input.IsKeyPressed((int)KeyList.Key2))
            {
                playerInput.LeftWeaponIndex = 1;
            }
            else if (Input.IsKeyPressed((int)KeyList.Key3))
            {
                playerInput.LeftWeaponIndex = 2;
            }
            else
            {
                playerInput.LeftWeaponIndex = CurrentWeaponIndex[Weapon.WeaponOrder.Left];
            }


            if (GetTree().IsNetworkServer())
            {
                gameStates.cacheInput(1, playerInput);
            }
            else
            {
                String inputData = "";
                inputData = inputData + playerInput.Right + ";";
                inputData = inputData + playerInput.Left + ";";
                inputData = inputData + playerInput.Up + ";";
                inputData = inputData + playerInput.Down + ";";
                inputData = inputData + playerInput.RightWeaponAction + ";";
                inputData = inputData + playerInput.LeftWeaponAction + ";";
                inputData = inputData + playerInput.MousePosition.x + ";";
                inputData = inputData + playerInput.MousePosition.y + ";";
                inputData = inputData + playerInput.RightWeaponIndex + ";";
                inputData = inputData + playerInput.LeftWeaponIndex + ";";

                RpcUnreliableId(1, nameof(serverGetPlayerInput), inputData);
            }
        }
    }