コード例 #1
0
        public void Unsubscribe(OnTimeStateChanged eventHandler, object o)
        {
            Debug.Log("Unsubscribed " + o);
            List <OnTimeStateChanged> l;

            if (eventHandlers.TryGetValue(o, out l))
            {
                l.Remove(eventHandler);
            }
        }
コード例 #2
0
        /// <summary>
        /// Subscribes an event handler when the time flow state changes on the given object, o.
        /// </summary>
        /// <param name="eventHandler"></param>
        /// <param name="o"></param>
        public void Subscribe(OnTimeStateChanged eventHandler, object o)
        {
            if (!registeredObjects.ContainsKey(o))
            {
                return;
            }

            if (!eventHandlers.ContainsKey(o))
            {
                var newList = new List <OnTimeStateChanged>();
                newList.Add(eventHandler);
                eventHandlers.Add(o, newList);
                //Debug.Log("Added " + o + " to event handlers. Hash: " + o.GetHashCode());
            }
            else
            {
                List <OnTimeStateChanged> list;
                eventHandlers.TryGetValue(o, out list);
                list.Add(eventHandler);
                //Debug.Log("Added " + eventHandler + " to event handlers for " + o + ". Hash: " + o.GetHashCode());
            }
        }