コード例 #1
0
 /**
  *      Unregister the event
  *      Also unregisters the key if the key doesn't have any events attached
  *      @param key The key to which the event is attached
  *      @param _Event The event that has to be unregisterd
  */
 public void UnRegisterKey(KeyCode key, GeneralKeyEvent _Event)
 {
     if (generalKeyEvents.ContainsKey(key))
     {
         generalKeyEvents[key] -= _Event;
         if (generalKeyEvents[key] == null)
         {
             generalKeyEvents.Remove(key);
         }
     }
 }
コード例 #2
0
    //Function that tries to get and fire a event regardless wheter the key is pressed or released
    private void OnKey(KeyCode key, KeyEventType eventType)
    {
        GeneralKeyEvent E = null;

        if (generalKeyEvents.TryGetValue(key, out E))
        {
            if (E != null)
            {
                E(key, eventType);
            }
        }
    }
コード例 #3
0
 /**
  *      Register key event regardless whether the key is pressed or released
  *      @param key The keycode of the key that will fire the event
  *      @param _Event The generalkeyevent that will be fired if the key is pressed or released
  */
 public void RegisterKey(KeyCode key, GeneralKeyEvent _Event)
 {
     if (generalKeyEvents.ContainsKey(key))
     {
         generalKeyEvents[key] += _Event;            //Add event to existing key
     }
     else
     {
         if (!registerdKeys.Contains(key))
         {
             registerdKeys.Add(key);
         }
         generalKeyEvents.Add(key, _Event);            //Add key and event in dictionary
     }
 }