Beispiel #1
0
    public void RegisterTrackKey(KeyCode key, KeyInteraction interaction, Action callback)
    {
        KeyInput keyInput = trackedKeys.Find(x => x.keyCode == key && x.keyInteraction == interaction);

        if (keyInput == null)
        {
            trackedKeys.Add(new KeyInput(key, interaction, callback));
        }
        else
        {
            keyInput.callback += callback;
        }
    }
Beispiel #2
0
    public void DeregisterTrackKey(KeyCode key, KeyInteraction interaction, Action callback)
    {
        KeyInput keyInput = trackedKeys.Find(x => x.keyCode == key && x.keyInteraction == interaction);

        if (keyInput != null)
        {
            if (keyInput.callback.GetInvocationList().Length == 1)
            {
                trackedKeys.Remove(keyInput);
            }
            else
            {
                keyInput.callback -= callback;
            }
        }
    }
Beispiel #3
0
 public KeyInput(KeyCode keyCode, KeyInteraction keyInteraction, Action callback)
 {
     this.keyCode        = keyCode;
     this.keyInteraction = keyInteraction;
     this.callback       = callback;
 }