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]; }
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(); }
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; }
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); } }
void Awake() { if (!instance) { instance = this; DontDestroyOnLoad(this); } else { Destroy(gameObject); } leftButtons = new PlayerButtons(leftController = "K1"); rightButtons = new PlayerButtons(rightController = "K2"); }
/// <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); } } }
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()); }
/// <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); } } } }
/// <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); } } }
private void button1_Click(object sender, EventArgs e) { PlayerButtons playerButtons = new PlayerButtons(); playerButtons.ShowDialog(); }
/// <summary> /// Atribui os inputs de cada controle (esquerdo e direito). /// </summary> public void SetButtons() { leftButtons = new PlayerButtons(leftController); rightButtons = new PlayerButtons(rightController); }