Example #1
0
 private T2 CallPriorityGroup(List <EventHandler> priorityGroup, T1 sender, T2 args, bool stoppable, ref bool stopped, bool cancelable, ref bool canceled)
 {
     foreach (EventHandler eh in priorityGroup.ToArray())
     {
         eh.Invoke(sender, args);
         if (stoppable && !stopped && ((IStoppable)args).Stopped)
         {
             stopped = true;
         }
         if (cancelable && !canceled && ((ICancelable)args).Canceled)
         {
             canceled = true;
         }
         if (args.Disable)
         {
             priorityGroup.Remove(eh);
             if (OnUnregister != null)
             {
                 OnUnregister.Invoke(this, new EventRegisterArgs(typeof(T1), typeof(T2), eh, false));
             }
             args.Disable = false;
         }
     }
     return(args);
 }
Example #2
0
        public void UnregisterProtos(Guid key)
        {
            RTLog.Notify("AntennaManager: UnregisterProtos({0})", key);

            if (!mProtoAntennaCache.ContainsKey(key))
            {
                return;
            }

            foreach (IAntenna a in mProtoAntennaCache[key])
            {
                OnUnregister.Invoke(a);
            }

            mProtoAntennaCache.Remove(key);
        }
Example #3
0
    //****************************************************************************************************
    //
    //****************************************************************************************************

    public Instances(OnRegister onRegister, OnUnregister onUnregister)
    {
        m_onRegister = onRegister; m_onUnregister = onUnregister;
    }