public void ClearAllWasPressedState(int numFrames) { if (b0 != 0) { GamePadInput pad = GamePadInput.GetGamePad0(); GamePadInput.Button b = pad.GetButton(b0); b.ClearAllWasPressedState(); b.IgnoreUntilReleased = true; if (b1 != 0) { b = pad.GetButton(b0); b.ClearAllWasPressedState(); b.IgnoreUntilReleased = true; } if (numFrames > 0) { GamePadInput.ClearAllWasPressedState(numFrames); } } for (int i = 0; i < keys.Count; i++) { KeyboardInput.ClearAllWasPressedState(keys[i]); } } // end of ClearAllWasPressedState()
} // end of Update() public static void Init() { if (!keysInitialized) { for (int i = 0; i < kNumKeys; i++) { keys[i] = new GamePadInput.Button(); } keysInitialized = true; } // If this count isn't right, we may have accidentally deleted an entry. Debug.Assert(keyCharMap.Length == kNumKeys); } // end of Init()
public override bool MatchAction(Reflex reflex, out object param) { bool result = false; // Only jump through hoops the first time to get the pad. if (ButtonState == null) { GamePadInput pad = null; // See if there's a filter defining which player we should be. If not, use pad0. if (playerId == GamePadSensor.PlayerId.Dynamic) { playerId = GamePadSensor.PlayerId.All; ReflexData data = reflex.Data; for (int i = 0; i < data.Filters.Count; i++) { if (data.Filters[i] is PlayerFilter) { playerId = ((PlayerFilter)data.Filters[i]).playerIndex; } } } // Get the correct game pad. switch (playerId) { case GamePadSensor.PlayerId.All: pad = GamePadInput.GetGamePad0(); break; case GamePadSensor.PlayerId.One: pad = GamePadInput.GetGamePad1(); break; case GamePadSensor.PlayerId.Two: pad = GamePadInput.GetGamePad2(); break; case GamePadSensor.PlayerId.Three: pad = GamePadInput.GetGamePad3(); break; case GamePadSensor.PlayerId.Four: pad = GamePadInput.GetGamePad4(); break; } // Get the correct game pad button. switch (button) { case GamePadButton.A: ButtonState = pad.ButtonA; break; case GamePadButton.B: ButtonState = pad.ButtonB; break; case GamePadButton.X: ButtonState = pad.ButtonX; break; case GamePadButton.Y: ButtonState = pad.ButtonY; break; case GamePadButton.LeftTrigger: ButtonState = pad.LeftTriggerButton; break; case GamePadButton.RightTrigger: ButtonState = pad.RightTriggerButton; break; } } result = ButtonState.IsPressed; // Return as a parameter a vector that can be used for input to the movement system, so // that players can drive and turn bots using gamepad buttons. param = new Vector2(0, 1); return(result); }