Пример #1
0
        public void Detach(string senderName, float percent, string eventName, XProgressHandler handler)
        {
            int eventId = this.PercentToEventId(percent);

            if (!this.mEvents.ContainsKey(eventId))
            {
                return;
            }
            foreach (XProgressEvent evt in this.mEvents[eventId])
            {
                if (evt.EventName == eventName && evt.Handler == handler)
                {
                    this.mEvents[eventId].Remove(evt);
                }
            }
            if (this.mEvents[eventId].Count == 0)
            {
                this.mEvents.Remove(eventId);
            }
        }
Пример #2
0
        public void Attach(string senderName, float percent, string eventName, XProgressHandler handler)
        {
            if (percent < 0 || percent > 1)
            {
                return;
            }
            if (handler == null)
            {
                return;
            }
            int eventId = this.PercentToEventId(percent);

            if (!this.mEvents.ContainsKey(eventId))
            {
                this.mEvents[eventId] = new List <XProgressEvent>();
            }
            XProgressEvent evt = new XProgressEvent();

            evt.SenderName = senderName;
            evt.EventName  = eventName;
            evt.Handler    = handler;
            evt.Fired      = false;
            this.mEvents[eventId].Add(evt);
        }