コード例 #1
0
 public static void PostEvent(NetworkEventKey key, NetworkEventHandle handle = null)
 {
     if (events.ContainsKey(key))
     {
         events[key](handle);
     }
     handle?.Dispose();
 }
コード例 #2
0
        public static void Unregister(NetworkEventKey key, Action <NetworkEventHandle> action)
        {
            if (events.ContainsKey(key))
            {
                events[key] -= action;

                if (events[key] == null)
                {
                    events.Remove(key);
                }
            }
        }
コード例 #3
0
 public static void Register(NetworkEventKey key, Action <NetworkEventHandle> action)
 {
     if (!events.ContainsKey(key))
     {
         events[key] = action;
     }
     else
     {
         if (events[key] != null)
         {
             Delegate[] dels = events[key].GetInvocationList();
             foreach (Delegate del in dels)
             {
                 if (del.Equals(action))
                 {
                     return;
                 }
             }
         }
         events[key] += action;
     }
 }