コード例 #1
0
ファイル: InputManager.cs プロジェクト: pdxparrot/ssjAug2018
        private void AcquireGamepad(GamepadListener listener, Gamepad gamepad)
        {
            Debug.Log($"Gamepad listener {listener.id} acquiring gamepad {gamepad.name}");

            listener.acquireCallback.Invoke(gamepad);
            _acquiredGamepads[gamepad] = listener;
        }
コード例 #2
0
ファイル: InputManager.cs プロジェクト: pdxparrot/ssjAug2018
        private void NotifyRemoveGamepad(Gamepad gamepad)
        {
            Debug.Log($"Gamepad {gamepad.name} is offline");

            GamepadListener listener = _acquiredGamepads.GetOrDefault(gamepad);

            listener?.disconnectCallback.Invoke(gamepad);
            _acquiredGamepads.Remove(gamepad);
            _gamepadListeners.Add(listener);
        }
コード例 #3
0
ファイル: InputManager.cs プロジェクト: pdxparrot/ssjAug2018
        private void AcquireGamepad(GamepadListener listener)
        {
            if (_unacquiredGamepads.Count < 1)
            {
                _gamepadListeners.Add(listener);
                return;
            }

            Gamepad gamepad = _unacquiredGamepads.RemoveFront();

            AcquireGamepad(listener, gamepad);
        }
コード例 #4
0
ファイル: InputManager.cs プロジェクト: pdxparrot/ssjAug2018
        public int AcquireGamepad(Action <Gamepad> acquireCallback, Action <Gamepad> disconnectCallback)
        {
            GamepadListener listener = new GamepadListener
            {
                id = NextListenerId,
                acquireCallback    = acquireCallback,
                disconnectCallback = disconnectCallback
            };

            AcquireGamepad(listener);

            return(listener.id);
        }
コード例 #5
0
ファイル: InputManager.cs プロジェクト: pdxparrot/ssjAug2018
        private bool NotifyAddGamepad(Gamepad gamepad)
        {
            if (_gamepadListeners.Count < 1)
            {
                return(false);
            }

            GamepadListener listener = _gamepadListeners.RemoveFront();

            AcquireGamepad(listener, gamepad);

            return(true);
        }