Ejemplo n.º 1
0
        public bool OnKeyUp([GeneratedEnum] Keycode keyCode, KeyEvent e)
        {
            if ((((int)e.Source & (int)InputSourceType.Gamepad) == (int)InputSourceType.Gamepad) && e.RepeatCount == 0)
            {
                GameControllerEventInternal?.Invoke(this, new GameControllerEventArgs(GameControllerEventType.Button, e.KeyCode.ToString(), 0.0F));
                return(true);
            }

            return(false);
        }
Ejemplo n.º 2
0
        public bool OnKeyDown([GeneratedEnum] Keycode keyCode, KeyEvent e)
        {
            if (e.RepeatCount == 0)
            {
                GameControllerEventInternal?.Invoke(this, new GameControllerEventArgs(GameControllerEventType.Button, e.KeyCode.ToString(), 1.0F));
                return(true);
            }

            return(false);
        }
        private void SetupAnalogAxisInput(GCControllerAxisInput axis, string name)
        {
            axis.ValueChangedHandler = (ax, value) =>
            {
                value = AdjustControllerValue(value);

                if (!_lastControllerEventValueMap.ContainsKey(name) || !AreAlmostEqual(_lastControllerEventValueMap[name], value))
                {
                    GameControllerEventInternal?.Invoke(this, new GameControllerEventArgs(GameControllerEventType.Axis, name, value));
                    _lastControllerEventValueMap[name] = value;
                }
            };
        }
        private void SetupAnalogButtonInput(GCControllerButtonInput button, string name)
        {
            button.ValueChangedHandler = (btn, value, isPressed) =>
            {
                value = value < 0.1 ? 0.0F : value;

                if (!_lastControllerEventValueMap.ContainsKey(name) || !AreAlmostEqual(_lastControllerEventValueMap[name], value))
                {
                    _lastControllerEventValueMap[name] = value;
                    GameControllerEventInternal?.Invoke(this, new GameControllerEventArgs(GameControllerEventType.Axis, name, value));
                }
            };
        }
        private void SetupDigitalAxisInput(GCControllerAxisInput axis, string name)
        {
            axis.ValueChangedHandler = (ax, value) =>
            {
                if (value < -0.1F)
                {
                    value = -1.0F;
                }
                else if (value > 0.1F)
                {
                    value = 1.0F;
                }
                else
                {
                    value = 0.0F;
                }

                if (!_lastControllerEventValueMap.ContainsKey(name) || !AreAlmostEqual(_lastControllerEventValueMap[name], value))
                {
                    GameControllerEventInternal?.Invoke(this, new GameControllerEventArgs(GameControllerEventType.Axis, name, value));
                    _lastControllerEventValueMap[name] = value;
                }
            };
        }