public override void Update(GameTime gameTime) { if (Enabled) { MiStandardControllerState newState = Controller.GetState(); foreach (MiControl control in Controller.controls) { if (oldState.IsReleased(control) && newState.IsPressed(control)) { Game.ScriptEngine.ExecuteScript(Focused.RespondToInput(control)); } if (oldState.IsPressed(control) && newState.IsPressed(control)) { holdTimer[control]++; if (holdTimer[control] > HOLD_REPEAT_INTERVAL) { holdTimer[control] = 0; Game.ScriptEngine.ExecuteScript(Focused.RespondToInput(control)); } } if (newState.IsReleased(control)) { holdTimer[control] = 0; } } oldState = newState; } }