//-------------------------------------- // PUBLIC METHODS //-------------------------------------- public void addApiEventListner(SocialApiEvent e, APIEventHandler handler) { if(listners.ContainsKey(e)) { (listners[e] as ArrayList).Add(handler); } else { ArrayList handlers = new ArrayList(); handlers.Add(handler); listners.Add(e, handlers); } }
public void removeApiEventListner(SocialApiEvent e, APIEventHandler handler) { if(listners.ContainsKey(e)) { ArrayList handlers = listners[e] as ArrayList; foreach(APIEventHandler func in handlers) { if(func == handler) { handlers.Remove(handler); } } if(handlers.Count == 0) { listners.Remove(e); } } }
//-------------------------------------- // PROTECTED METHODS //-------------------------------------- protected void dispatch(SocialApiEvent e) { if(listners.ContainsKey(e)) { ArrayList handlers = listners[e] as ArrayList; foreach(APIEventHandler func in handlers) { func(); } } DebugConsole.Log("API EVENT: " + e.ToString()); }