Exemplo n.º 1
0
        public Gamepad(int playerID)
        {
            m_playerID = playerID;

            actions = new Dictionary <GamepadAction.ID, GamepadAction>();
            //Button Actions
            for (GamepadAction.ID actionID = GamepadAction.ID.__BUTTONS__ + 1; actionID < GamepadAction.ID.__AXES__; ++actionID)
            {
                actions.Add(actionID, new GamepadAction(playerID, actionID, true));
            }
            //Axis Actions
            for (GamepadAction.ID actionID = GamepadAction.ID.__AXES__ + 1; actionID < GamepadAction.ID.MAX_ID; ++actionID)
            {
                actions.Add(actionID, new GamepadAction(playerID, actionID, false));
            }

            inputToAction = new Dictionary <InputID, List <GamepadAction.ID> >();
            setupDefaultMappings();
            foreach (InputID inputID in inputToAction.Keys)
            {
                // Save default mapping
                var list = inputToAction[inputID];
                foreach (var actionID in list)
                {
                    var action = actions[actionID];
                    action.defaultInputID = inputID;
                }
            }
        }
Exemplo n.º 2
0
        public void RemapAction(GamepadAction.ID actionID, InputID inputID)
        {
            var action = actions[actionID];

            // Remove old mapping
            var list = inputToAction[action.currentInputID];

            list.Remove(actionID);
            if (list.Count == 0)
            {
                inputToAction.Remove(inputID);
            }

            addMapping(inputID, actionID);
        }
Exemplo n.º 3
0
        private void addMapping(InputID inputID, GamepadAction.ID actionID)
        {
            var action = actions[actionID];

            action.currentInputID = inputID;

            if (inputToAction.ContainsKey(inputID))
            {
                var list = inputToAction[inputID];
                list.Add(actionID);
            }
            else
            {
                var list = new List <GamepadAction.ID>();
                list.Add(actionID);
                inputToAction.Add(inputID, list);
            }
        }
Exemplo n.º 4
0
 public GamepadAction(int playerID, GamepadAction.ID actionID, bool isButton)
 {
     m_actionID = actionID;
     m_isButton = isButton;
 }
Exemplo n.º 5
0
 public GamepadAction Action(GamepadAction.ID actionID)
 {
     return(actions[actionID]);
 }