Exemple #1
0
        public async Task PressAsync(Ps4Button buttonFlags)
        {
            _currentPress = new ButtonAction(buttonFlags);

            Interceptor.Callback += ResolveAction;

            await Task.Run(() =>
            {
                while (!_currentPress.Up)
                {
                    Thread.Sleep(CheckInterval);
                }

                // ReSharper disable once DelegateSubtraction
                Interceptor.Callback -= ResolveAction;
            });
        }
Exemple #2
0
        public ButtonAction(Ps4Button button) : this()
        {
            Button = button;

            if (button.HasFlag(Ps4Button.Cross))
            {
                State.Cross = true;
            }

            if (button.HasFlag(Ps4Button.Circle))
            {
                State.Circle = true;
            }

            if (button.HasFlag(Ps4Button.Triangle))
            {
                State.Triangle = true;
            }

            if (button.HasFlag(Ps4Button.Square))
            {
                State.Square = true;
            }

            if (button.HasFlag(Ps4Button.Up))
            {
                State.DPad_Up = true;
            }

            if (button.HasFlag(Ps4Button.Down))
            {
                State.DPad_Down = true;
            }

            if (button.HasFlag(Ps4Button.Left))
            {
                State.DPad_Left = true;
            }

            if (button.HasFlag(Ps4Button.Right))
            {
                State.DPad_Right = true;
            }
        }
Exemple #3
0
    private KeyCode GetKeyCode(Ps4Button button)
    {
        switch (button)
        {
        case Ps4Button.Square:
            if (player == 0)
            {
                return(KeyCode.J);
            }
            if (player == 1)
            {
                return(KeyCode.Joystick1Button0);
            }
            if (player == 2)
            {
                return(KeyCode.Joystick2Button0);
            }
            if (player == 3)
            {
                return(KeyCode.Joystick3Button0);
            }
            if (player == 4)
            {
                return(KeyCode.Joystick4Button0);
            }
            break;

        case Ps4Button.Cross:
            if (player == 0)
            {
                return(KeyCode.K);
            }
            if (player == 1)
            {
                return(KeyCode.Joystick1Button1);
            }
            if (player == 2)
            {
                return(KeyCode.Joystick2Button1);
            }
            if (player == 3)
            {
                return(KeyCode.Joystick3Button1);
            }
            if (player == 4)
            {
                return(KeyCode.Joystick4Button1);
            }
            break;

        case Ps4Button.Circle:
            if (player == 0)
            {
                return(KeyCode.L);
            }
            if (player == 1)
            {
                return(KeyCode.Joystick1Button2);
            }
            if (player == 2)
            {
                return(KeyCode.Joystick2Button2);
            }
            if (player == 3)
            {
                return(KeyCode.Joystick3Button2);
            }
            if (player == 4)
            {
                return(KeyCode.Joystick4Button2);
            }
            break;

        case Ps4Button.Triangle:
            if (player == 0)
            {
                return(KeyCode.I);
            }
            if (player == 1)
            {
                return(KeyCode.Joystick1Button3);
            }
            if (player == 2)
            {
                return(KeyCode.Joystick2Button3);
            }
            if (player == 3)
            {
                return(KeyCode.Joystick3Button3);
            }
            if (player == 4)
            {
                return(KeyCode.Joystick4Button3);
            }
            break;
        }

        throw new NotImplementedException();
    }
Exemple #4
0
    public bool GetButton(Ps4Button button)
    {
        var keyCode = GetKeyCode(button);

        return(Input.GetKey(keyCode));
    }