public override void Update(GameTime gameTime) { if (gamepadMovement == null) { gamepadMovement = parent.GetComponent <GamepadMovement>(); } var gamepadState = GamePad.GetState(PlayerIndex.One); // A pressed if (previousGamepadState.IsButtonUp(Buttons.A) && gamepadState.IsButtonDown(Buttons.A)) { if (shoutState == ShoutState.Idle) { shoutState = ShoutState.Charge; } if (gamepadMovement != null) { gamepadMovement.Disable(); } } // A released if (previousGamepadState.IsButtonDown(Buttons.A) && gamepadState.IsButtonUp(Buttons.A)) { if (shoutState == ShoutState.Charge) { CallToArms(); } } // B pressed if (previousGamepadState.IsButtonUp(Buttons.B) && gamepadState.IsButtonDown(Buttons.B)) { if (shoutState == ShoutState.Idle) { ReleaseFromCommand(); } } // LB pressed if (previousGamepadState.IsButtonUp(Buttons.LeftShoulder) && gamepadState.IsButtonDown(Buttons.LeftShoulder)) { if (army.Count > 0) { armyVisibilityCone--; if (armyVisibilityCone < 0) { armyVisibilityCone = 3; } SetArmyCone(); } } // RB pressed if (previousGamepadState.IsButtonUp(Buttons.RightShoulder) && gamepadState.IsButtonDown(Buttons.RightShoulder)) { if (army.Count > 0) { armyVisibilityCone++; if (armyVisibilityCone > 3) { armyVisibilityCone = 0; } SetArmyCone(); } } UpdateShout(gameTime); previousGamepadState = gamepadState; }
public override void Init() { previousGamepadState = GamePad.GetState(PlayerIndex.One); gamepadMovement = parent.GetComponent <GamepadMovement>(); }