Beispiel #1
0
    public void RegisterKeyEvent(KeyCodeEventPair keycodeEvent, InputKeyCallback callback)
    {
        if (!keyCallbacks.ContainsKey(keycodeEvent))
        {
            keyCallbacks.Add(keycodeEvent, new List <InputKeyCallback>());
        }

        // Check to see if callback exists
        for (int i = 0; i < keyCallbacks[keycodeEvent].Count; i++)
        {
            if (keyCallbacks[keycodeEvent][i] == callback)
            {
                // Duplicate
                return;
            }
        }

        keyCallbacks[keycodeEvent].Add(callback);
    }
Beispiel #2
0
    public void UnregisterKeyEvent(KeyCodeEventPair keycodeEvent, InputKeyCallback callback)
    {
        if (keyCallbacks.ContainsKey(keycodeEvent))
        {
            for (int i = 0; i < keyCallbacks[keycodeEvent].Count; i++)
            {
                if (keyCallbacks[keycodeEvent][i] == callback)
                {
                    keyCallbacks[keycodeEvent].RemoveAt(i);
                    break;
                }
            }

            // If no more callbacks, remove this entry in the list
            if (keyCallbacks[keycodeEvent].Count == 0)
            {
                keyCallbacks.Remove(keycodeEvent);
            }
        }
    }
Beispiel #3
0
 public void AddCallback(InputKeyCallback callback)
 {
     Callbacks.Add(callback);
 }
Beispiel #4
0
        public InputKeyState RegisterKey(int keyGroup, int keyCode, InputKeyType type, InputKeyCallback callback)
        {
            InputKeyState state = RegisterKey(keyGroup, keyCode, type);

            if (callback != null)
            {
                state.AddCallback(callback);
            }

            return state;
        }