public void Remove(EventId <EventKeyType> eventId) { if (m_mgr.IsAlive) { EventMgr <EventKeyType> mgr = m_mgr.Target as EventMgr <EventKeyType>; if (m_eventIdSet.Contains(eventId)) { m_eventIdSet.Remove(eventId); mgr.Remove(eventId); } } }
public void Release() { if (this.IsValid() && null != mgr && mgr.IsAlive) { EventMgr <EventKeyType> refMgr = mgr.Target as EventMgr <EventKeyType>; if (null != refMgr) { refMgr.Remove(this); idx = 0; } } }
public void ClearAll() { if (m_mgr.IsAlive) { EventMgr <EventKeyType> mgr = m_mgr.Target as EventMgr <EventKeyType>; foreach (var eventId in m_eventIdSet) { mgr.Remove(eventId); } m_eventIdSet.Clear(); } }