Example #1
0
 public virtual void Start()
 {
     if (ControllerManager.instance != null)
     {
         if (side)
         {
             playerButtons = ControllerManager.instance.GetRightButtons();
             playerId      = PlayersManager.currentRightPlayer;
         }
         else
         {
             playerButtons = ControllerManager.instance.GetLeftButtons();
             playerId      = PlayersManager.currentLeftPlayer;
         }
     }
     else
     {
         if (side)
         {
             playerButtons = new PlayerButtons("K2");
             playerId      = 2;
         }
         else
         {
             playerButtons = new PlayerButtons("K1");
             playerId      = 1;
         }
     }
     color = PlayersManager.playerColor[playerId];
 }
Example #2
0
        private void PreparePlayerButtons()
        {
            switch (PlayersManager.PlayersInGame.Count)
            {
            case 0:
                PlayerButtons.Add(new ScreenChangeButton(new Position(25, 25, 450, 100), Gamestate, new Vector2f(), 30, TextPosition.Middle, TextPosition.Middle, "Select player", ScreenType.PlayerSelectionScreen));
                PlayerButtons.Add(new ScreenChangeButton(new Position(525, 25, 450, 100), Gamestate, new Vector2f(), 30, TextPosition.Middle, TextPosition.Middle, "Select second player", ScreenType.PlayerSelectionScreen));
                PlayerButtons.Last().ButtonState = ButtonState.Inactive;
                break;

            case 1:
                PlayerButtons.Add(new ActionButton(new Position(25, 25, 450, 100), Gamestate, new Vector2f(), 30, TextPosition.Middle, TextPosition.Middle, PlayersManager.GetPlayerByPlayersInGameIndex(0).Nickname, (_) => { PlayersManager.RemovePlayerFromGame(0); MessageBus.Instance.PostEvent(MessageType.ChangeScreen, this, new ChangeScreenEventArgs {
                        Screen = ScreenType.PlayerSelectionScreen
                    }); }));
                PlayerButtons.Add(new ScreenChangeButton(new Position(525, 25, 450, 100), Gamestate, new Vector2f(), 30, TextPosition.Middle, TextPosition.Middle, "Select second player", ScreenType.PlayerSelectionScreen));
                break;

            case 2:
                PlayerButtons.Add(new ActionButton(new Position(25, 25, 450, 100), Gamestate, new Vector2f(), 30, TextPosition.Middle, TextPosition.Middle, PlayersManager.GetPlayerByPlayersInGameIndex(0).Nickname, (_) => { PlayersManager.RemovePlayerFromGame(0); MessageBus.Instance.PostEvent(MessageType.ChangeScreen, this, new ChangeScreenEventArgs {
                        Screen = ScreenType.PlayerSelectionScreen
                    }); }));
                PlayerButtons.Add(new ActionButton(new Position(525, 25, 450, 100), Gamestate, new Vector2f(), 30, TextPosition.Middle, TextPosition.Middle, PlayersManager.GetPlayerByPlayersInGameIndex(1).Nickname, (_) => { PlayersManager.RemovePlayerFromGame(1); MessageBus.Instance.PostEvent(MessageType.ChangeScreen, this, new ChangeScreenEventArgs {
                        Screen = ScreenType.PlayerSelectionScreen
                    }); }));
                break;
            }
        }
    // Start is called before the first frame update
    void Start()
    {
        anim = GetComponent <Animator>();
        pb   = FindObjectOfType <PlayerButtons>();

        targets      = MinigameData.targets;
        m            = MinigameData.m;
        cs           = MinigameData.cs;
        miniGameBody = MinigameData.miniGameBody;
    }
    // Start is called before the first frame update
    void Start()
    {
        p = player1;
        EnemyPartyBuilder();

        uh = FindObjectOfType <UpdateHUD>();
        pb = FindObjectOfType <PlayerButtons>();

        SetUpCombat();
    }
Example #5
0
    public void Call(MedleyRandomizer medleyRandomizer)
    {
        this.medleyRandomizer = medleyRandomizer;
        ControllerManager controllerManager = ControllerManager.instance;

        leftButton  = controllerManager.GetLeftButtons();
        rightButton = controllerManager.GetRightButtons();
        SetDisplay(leftPlayerDisplay, leftPlayer   = false);
        SetDisplay(rightPlayerDisplay, rightPlayer = false);
        hasBeenSetup = true;
    }
Example #6
0
 public static void GetDirectionPress(PlayerButtons playerButtons, JoystickButtons button, State?state, JoystickUpdate?diState, Direction direction)
 {
     if (!diState.HasValue)
     {
         if (state.HasValue)
         {
             GetDirectionPressXinput(playerButtons, button?.XInputButton, state.Value, direction, 0);
         }
     }
     else
     {
         GetDirectionPressDirectInput(playerButtons, button?.DirectInputButton, diState.Value, direction);
     }
 }
Example #7
0
    void Awake()
    {
        if (!instance)
        {
            instance = this;
            DontDestroyOnLoad(this);
        }
        else
        {
            Destroy(gameObject);
        }

        leftButtons  = new PlayerButtons(leftController = "K1");
        rightButtons = new PlayerButtons(rightController = "K2");
    }
Example #8
0
    /// <summary>
    /// Ao fazer o setup de controles, fazer:
    /// ResetSetup();
    /// E colocar essa funcao em um Update.
    /// </summary>
    public void ControllerSetup()
    {
        var controller = GetAnyActionButton();

        if (controller != "")
        {
            if (leftController == "")
            {
                leftController = controller;
                leftButtons    = new PlayerButtons(leftController);
            }
            else if (rightController == "" && controller != leftController)
            {
                rightController = controller;
                rightButtons    = new PlayerButtons(rightController);
            }
        }
    }
Example #9
0
        public bool GetButtonDown(PlayerButtons playerButton)
        {
            GetInput input;

            switch (playerButton)
            {
            case PlayerButtons.Grab:
                input = GetGripDown;
                break;

            case PlayerButtons.Interact:
                input = Controller.GetHairTriggerDown;
                break;

            case PlayerButtons.Teleport:
                input = GetTouchDown;
                break;

            default:
                throw new ArgumentOutOfRangeException("playerButton", playerButton, null);
            }

            return(input());
        }
Example #10
0
        /// <summary>
        /// Get directional press from button, POV and analog.
        /// </summary>
        /// <param name="playerButtons"></param>
        /// <param name="button"></param>
        /// <param name="state"></param>
        /// <param name="direction"></param>
        public static void GetDirectionPressDirectInput(PlayerButtons playerButtons, JoystickButton button, JoystickUpdate state, Direction direction)
        {
            if (button == null)
            {
                return;
            }
            if ((JoystickOffset)button.Button != state.Offset)
            {
                return;
            }
            // POV
            if (button.Button >= 32 && button.Button <= 44 && !(direction == Direction.FFUp || direction == Direction.FFDown || direction == Direction.FFRight || direction == Direction.FFLeft || direction == Direction.FFHoriCenter || direction == Direction.FFVertCenter))
            {
                switch (state.Value)
                {
                case -1:
                    InputCode.SetPlayerDirection(playerButtons, Direction.HorizontalCenter);
                    InputCode.SetPlayerDirection(playerButtons, Direction.VerticalCenter);
                    break;

                case 0:
                    InputCode.SetPlayerDirection(playerButtons, Direction.Up);
                    playerButtons.Down  = false;
                    playerButtons.Left  = false;
                    playerButtons.Right = false;
                    break;

                case 4500:
                    InputCode.SetPlayerDirection(playerButtons, Direction.Up);
                    InputCode.SetPlayerDirection(playerButtons, Direction.Right);
                    playerButtons.Down = false;
                    playerButtons.Left = false;
                    break;

                case 9000:
                    InputCode.SetPlayerDirection(playerButtons, Direction.Right);
                    playerButtons.Down = false;
                    playerButtons.Left = false;
                    playerButtons.Up   = false;
                    break;

                case 13500:
                    InputCode.SetPlayerDirection(playerButtons, Direction.Down);
                    InputCode.SetPlayerDirection(playerButtons, Direction.Right);
                    playerButtons.Left = false;
                    playerButtons.Up   = false;
                    break;

                case 18000:
                    InputCode.SetPlayerDirection(playerButtons, Direction.Down);
                    playerButtons.Right = false;
                    playerButtons.Left  = false;
                    playerButtons.Up    = false;
                    break;

                case 22500:
                    InputCode.SetPlayerDirection(playerButtons, Direction.Left);
                    InputCode.SetPlayerDirection(playerButtons, Direction.Down);
                    playerButtons.Right = false;
                    playerButtons.Up    = false;
                    break;

                case 27000:
                    InputCode.SetPlayerDirection(playerButtons, Direction.Left);
                    playerButtons.Down  = false;
                    playerButtons.Right = false;
                    playerButtons.Up    = false;
                    break;

                case 31500:
                    InputCode.SetPlayerDirection(playerButtons, Direction.Left);
                    InputCode.SetPlayerDirection(playerButtons, Direction.Up);
                    playerButtons.Down  = false;
                    playerButtons.Right = false;
                    break;
                }
            }
            else if (button.Button >= 32 && button.Button <= 44 && (direction == Direction.FFUp ||
                                                                    direction == Direction.FFDown ||
                                                                    direction == Direction.FFRight ||
                                                                    direction == Direction.FFLeft ||
                                                                    direction == Direction.FFHoriCenter ||
                                                                    direction == Direction.FFVertCenter))
            {
                switch (state.Value)
                {
                case -1:
                    InputCode.SetPlayerDirection(playerButtons, Direction.FFHoriCenter);
                    InputCode.SetPlayerDirection(playerButtons, Direction.FFVertCenter);
                    break;

                case 0:
                    InputCode.SetPlayerDirection(playerButtons, Direction.FFUp);
                    break;

                case 4500:
                    InputCode.SetPlayerDirection(playerButtons, Direction.FFUp);
                    InputCode.SetPlayerDirection(playerButtons, Direction.FFRight);
                    break;

                case 9000:
                    InputCode.SetPlayerDirection(playerButtons, Direction.FFRight);
                    break;

                case 13500:
                    InputCode.SetPlayerDirection(playerButtons, Direction.FFDown);
                    InputCode.SetPlayerDirection(playerButtons, Direction.FFRight);
                    break;

                case 18000:
                    InputCode.SetPlayerDirection(playerButtons, Direction.FFDown);
                    break;

                case 22500:
                    InputCode.SetPlayerDirection(playerButtons, Direction.FFLeft);
                    InputCode.SetPlayerDirection(playerButtons, Direction.FFDown);
                    break;

                case 27000:
                    InputCode.SetPlayerDirection(playerButtons, Direction.FFLeft);
                    break;

                case 31500:
                    InputCode.SetPlayerDirection(playerButtons, Direction.FFLeft);
                    InputCode.SetPlayerDirection(playerButtons, Direction.FFUp);
                    break;
                }
            }

            // Analog Axis, we expect that the both direction are on same axis!!!!
            if (state.Offset == JoystickOffset.X || state.Offset == JoystickOffset.Y ||
                state.Offset == JoystickOffset.Z || state.Offset == JoystickOffset.RotationX ||
                state.Offset == JoystickOffset.RotationY || state.Offset == JoystickOffset.RotationZ ||
                state.Offset == JoystickOffset.Sliders0 || state.Offset == JoystickOffset.Sliders1 ||
                state.Offset == JoystickOffset.AccelerationX || state.Offset == JoystickOffset.AccelerationY ||
                state.Offset == JoystickOffset.AccelerationZ)
            {
                if (button.IsAxisMinus)
                {
                    if (state.Value >= 32064 + 15000)
                    {
                    }
                    else if (state.Value <= 32064 - 15000)
                    {
                        InputCode.SetPlayerDirection(playerButtons, direction);
                    }
                    else
                    {
                        if (direction == Direction.Left || direction == Direction.Right)
                        {
                            InputCode.SetPlayerDirection(playerButtons, Direction.HorizontalCenter);
                        }
                        if (direction == Direction.Up || direction == Direction.Down)
                        {
                            InputCode.SetPlayerDirection(playerButtons, Direction.VerticalCenter);
                        }
                        if (direction == Direction.FFLeft || direction == Direction.FFRight)
                        {
                            InputCode.SetPlayerDirection(playerButtons, Direction.FFHoriCenter);
                        }
                        if (direction == Direction.FFUp || direction == Direction.FFDown)
                        {
                            InputCode.SetPlayerDirection(playerButtons, Direction.FFVertCenter);
                        }
                    }
                }
                else
                {
                    if (state.Value >= 32064 + 15000)
                    {
                        InputCode.SetPlayerDirection(playerButtons, direction);
                    }
                    else if (state.Value <= 32064 - 15000)
                    {
                    }
                    else
                    {
                        if (direction == Direction.Left || direction == Direction.Right)
                        {
                            InputCode.SetPlayerDirection(playerButtons, Direction.HorizontalCenter);
                        }
                        if (direction == Direction.Up || direction == Direction.Down)
                        {
                            InputCode.SetPlayerDirection(playerButtons, Direction.VerticalCenter);
                        }
                        if (direction == Direction.FFLeft || direction == Direction.FFRight)
                        {
                            InputCode.SetPlayerDirection(playerButtons, Direction.FFHoriCenter);
                        }
                        if (direction == Direction.FFUp || direction == Direction.FFDown)
                        {
                            InputCode.SetPlayerDirection(playerButtons, Direction.FFVertCenter);
                        }
                    }
                }
            }

            // Normal button
            if (button.Button >= 48 && button.Button <= 175)
            {
                if (state.Value != 0)
                {
                    InputCode.SetPlayerDirection(playerButtons, direction);
                }
                else
                {
                    if (direction == Direction.Left && !playerButtons.RightPressed())
                    {
                        InputCode.SetPlayerDirection(playerButtons, Direction.HorizontalCenter);
                    }
                    if (direction == Direction.Right && !playerButtons.LeftPressed())
                    {
                        InputCode.SetPlayerDirection(playerButtons, Direction.HorizontalCenter);
                    }
                    if (direction == Direction.Up && !playerButtons.DownPressed())
                    {
                        InputCode.SetPlayerDirection(playerButtons, Direction.VerticalCenter);
                    }
                    if (direction == Direction.Down && !playerButtons.UpPressed())
                    {
                        InputCode.SetPlayerDirection(playerButtons, Direction.VerticalCenter);
                    }
                    if (direction == Direction.FFLeft && !playerButtons.FFRightPressed())
                    {
                        InputCode.SetPlayerDirection(playerButtons, Direction.FFHoriCenter);
                    }
                    if (direction == Direction.FFRight && !playerButtons.FFLeftPressed())
                    {
                        InputCode.SetPlayerDirection(playerButtons, Direction.FFHoriCenter);
                    }
                    if (direction == Direction.FFUp && !playerButtons.FFDownPressed())
                    {
                        InputCode.SetPlayerDirection(playerButtons, Direction.FFVertCenter);
                    }
                    if (direction == Direction.FFDown && !playerButtons.FFUpPressed())
                    {
                        InputCode.SetPlayerDirection(playerButtons, Direction.FFVertCenter);
                    }
                }
            }
        }
Example #11
0
        /// <summary>
        /// Get directional press from button, POV and analog.
        /// </summary>
        /// <param name="playerButtons"></param>
        /// <param name="button"></param>
        /// <param name="state"></param>
        /// <param name="direction"></param>
        public static void GetDirectionPressXinput(PlayerButtons playerButtons, XInputButton button, State state, Direction direction, int index)
        {
            if (button?.XInputIndex != index)
            {
                return;
            }

            // Analog Axis, we expect that the both direction are on same axis!!!!
            if (button.IsLeftThumbX || button.IsLeftThumbY || button.IsRightThumbX || button.IsRightThumbY)
            {
                var calcVal = 0;
                if (button.IsLeftThumbY)
                {
                    calcVal = state.Gamepad.LeftThumbY;
                }
                if (button.IsLeftThumbX)
                {
                    calcVal = state.Gamepad.LeftThumbX;
                }
                if (button.IsRightThumbX)
                {
                    calcVal = state.Gamepad.RightThumbX;
                }
                if (button.IsRightThumbY)
                {
                    calcVal = state.Gamepad.RightThumbY;
                }
                if (button.IsAxisMinus)
                {
                    if (calcVal >= 0 + 15000)
                    {
                    }
                    else if (calcVal <= 0 - 15000)
                    {
                        InputCode.SetPlayerDirection(playerButtons, direction);
                    }
                    else
                    {
                        if (direction == Direction.Left || direction == Direction.Right)
                        {
                            InputCode.SetPlayerDirection(playerButtons, Direction.HorizontalCenter);
                        }
                        if (direction == Direction.Up || direction == Direction.Down)
                        {
                            InputCode.SetPlayerDirection(playerButtons, Direction.VerticalCenter);
                        }
                        if (direction == Direction.FFLeft || direction == Direction.FFRight)
                        {
                            InputCode.SetPlayerDirection(playerButtons, Direction.FFHoriCenter);
                        }
                        if (direction == Direction.FFUp || direction == Direction.FFDown)
                        {
                            InputCode.SetPlayerDirection(playerButtons, Direction.FFVertCenter);
                        }
                    }
                }
                else
                {
                    if (calcVal >= 0 + 15000)
                    {
                        InputCode.SetPlayerDirection(playerButtons, direction);
                    }
                    else if (calcVal <= 0 - 15000)
                    {
                    }
                    else
                    {
                        if (direction == Direction.Left || direction == Direction.Right)
                        {
                            InputCode.SetPlayerDirection(playerButtons, Direction.HorizontalCenter);
                        }
                        if (direction == Direction.Up || direction == Direction.Down)
                        {
                            InputCode.SetPlayerDirection(playerButtons, Direction.VerticalCenter);
                        }
                        if (direction == Direction.FFLeft || direction == Direction.FFRight)
                        {
                            InputCode.SetPlayerDirection(playerButtons, Direction.FFHoriCenter);
                        }
                        if (direction == Direction.FFUp || direction == Direction.FFDown)
                        {
                            InputCode.SetPlayerDirection(playerButtons, Direction.FFVertCenter);
                        }
                    }
                }
            }

            // Normal button
            if (button.IsButton)
            {
                if ((button.ButtonCode & (short)state.Gamepad.Buttons) != 0)
                {
                    InputCode.SetPlayerDirection(playerButtons, direction);
                }
                else
                {
                    if (direction == Direction.Left && !playerButtons.RightPressed())
                    {
                        InputCode.SetPlayerDirection(playerButtons, Direction.HorizontalCenter);
                    }
                    if (direction == Direction.Right && !playerButtons.LeftPressed())
                    {
                        InputCode.SetPlayerDirection(playerButtons, Direction.HorizontalCenter);
                    }
                    if (direction == Direction.Up && !playerButtons.DownPressed())
                    {
                        InputCode.SetPlayerDirection(playerButtons, Direction.VerticalCenter);
                    }
                    if (direction == Direction.Down && !playerButtons.UpPressed())
                    {
                        InputCode.SetPlayerDirection(playerButtons, Direction.VerticalCenter);
                    }
                    if (direction == Direction.FFLeft && !playerButtons.FFRightPressed())
                    {
                        InputCode.SetPlayerDirection(playerButtons, Direction.FFHoriCenter);
                    }
                    if (direction == Direction.FFRight && !playerButtons.FFLeftPressed())
                    {
                        InputCode.SetPlayerDirection(playerButtons, Direction.FFHoriCenter);
                    }
                    if (direction == Direction.FFUp && !playerButtons.FFDownPressed())
                    {
                        InputCode.SetPlayerDirection(playerButtons, Direction.FFVertCenter);
                    }
                    if (direction == Direction.FFDown && !playerButtons.FFUpPressed())
                    {
                        InputCode.SetPlayerDirection(playerButtons, Direction.FFVertCenter);
                    }
                }
            }

            if (button.IsLeftTrigger && state.Gamepad.LeftTrigger != 0)
            {
                InputCode.SetPlayerDirection(playerButtons, direction);
            }
            else if (button.IsLeftTrigger && state.Gamepad.LeftTrigger == 0)
            {
                if (direction == Direction.Left || direction == Direction.Right)
                {
                    InputCode.SetPlayerDirection(playerButtons, Direction.HorizontalCenter);
                }
                if (direction == Direction.Up || direction == Direction.Down)
                {
                    InputCode.SetPlayerDirection(playerButtons, Direction.VerticalCenter);
                }
            }

            if (button.IsRightTrigger && state.Gamepad.RightTrigger != 0)
            {
                InputCode.SetPlayerDirection(playerButtons, direction);
            }
            else if (button.IsRightTrigger && state.Gamepad.RightTrigger == 0)
            {
                if (direction == Direction.Left || direction == Direction.Right)
                {
                    InputCode.SetPlayerDirection(playerButtons, Direction.HorizontalCenter);
                }
                if (direction == Direction.Up || direction == Direction.Down)
                {
                    InputCode.SetPlayerDirection(playerButtons, Direction.VerticalCenter);
                }
            }
        }
Example #12
0
    private void button1_Click(object sender, EventArgs e)
    {
        PlayerButtons playerButtons = new PlayerButtons();

        playerButtons.ShowDialog();
    }
Example #13
0
 /// <summary>
 /// Atribui os inputs de cada controle (esquerdo e direito).
 /// </summary>
 public void SetButtons()
 {
     leftButtons  = new PlayerButtons(leftController);
     rightButtons = new PlayerButtons(rightController);
 }