Example #1
0
        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;
        }
Example #2
0
 public override void Init()
 {
     previousGamepadState = GamePad.GetState(PlayerIndex.One);
     gamepadMovement      = parent.GetComponent <GamepadMovement>();
 }