コード例 #1
0
        public void UnregisterInputReceiver(IInputBound inputReceiver)
        {
            if (inputReceiver is IKeyboardInputBound)
            {
                RemoveReceiverFrom <KeyboardMoveInputController>(inputReceiver);
            }

            if (inputReceiver is IJoystickInputBound)
            {
                RemoveReceiverFrom <JoystickMoveInputController>(inputReceiver);
            }
        }
コード例 #2
0
        public void RegisterInputReceiver(IInputBound inputReceiver)
        {
            if (inputReceiver is IKeyboardInputBound)
            {
                AddReceiverTo <KeyboardMoveInputController>(inputReceiver);
            }

            if (inputReceiver is IJoystickInputBound)
            {
                AddReceiverTo <JoystickMoveInputController>(inputReceiver);
            }
        }
コード例 #3
0
        private void RemoveReceiverFrom <T>(IInputBound inputReceiver) where T : MoveInputControllerBase
        {
            MoveInputControllerBase targetController = null;

            foreach (MoveInputControllerBase value in _inputReceiverCollection.Keys)
            {
                if (value is T)
                {
                    targetController = value;

                    break;
                }
            }

            if (targetController != null)
            {
                _inputReceiverCollection[targetController].Remove(inputReceiver);
            }
        }
コード例 #4
0
        private void AddReceiverTo <T>(IInputBound inputReceiver) where T : MoveInputControllerBase
        {
            if (!_isInited)
            {
                Init();
            }

            MoveInputControllerBase targetController = null;

            foreach (MoveInputControllerBase value in _inputReceiverCollection.Keys)
            {
                if (value is T)
                {
                    targetController = value;

                    break;
                }
            }

            if (targetController != null)
            {
                _inputReceiverCollection[targetController].Add(inputReceiver);
            }
        }