Exemplo n.º 1
0
        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;
            }
        }