public virtual void dispathEvent(Define.EventType eventType, Event evt) { bool flag = this.m_eventFunc.ContainsKey(eventType); if (flag) { this.m_eventFunc[eventType](evt); } }
public virtual void removeEventListener(Define.EventType eventType, Action <Event> cbFunc) { bool flag = cbFunc == null; if (!flag) { bool flag2 = this.m_eventFunc.ContainsKey(eventType); if (flag2) { Dictionary <Define.EventType, Action <Event> > eventFunc = this.m_eventFunc; eventFunc[eventType] = (Action <Event>)Delegate.Remove(eventFunc[eventType], cbFunc); } } }
public void addGlobalEventListener(Define.EventType eventType, Action <Event> cbFunc) { bool flag = cbFunc == null; if (!flag) { bool flag2 = this.m_eventFunc.ContainsKey(eventType); if (flag2) { Dictionary <Define.EventType, Action <Event> > eventFunc = this.m_eventFunc; eventFunc[eventType] = (Action <Event>)Delegate.Combine(eventFunc[eventType], cbFunc); } else { this.m_eventFunc[eventType] = cbFunc; } } }
// 매핑한 하위 오브젝트들에 클릭(및 다른 형태의) 이벤트를 추가해주는 임시 함수. // 우선 개별 스크립트를 만들어 붙이고, 나중에 아이콘 클릭 관련 함수가 많아질 때 이 방식으로 변경할 예정. // 게임 특성상 PointerEventData가 불필요한 경우가 많으므로, EventHandler에 매개변수가 없는 클릭 이벤트 등을 추가해주고, Action(매개변수 X)을 변수로 받는 AddEvent 함수를 오버로드하는 것이 쓰기 편할듯. public static void AddEvent(GameObject gameObject, Action <PointerEventData> action, Define.EventType eventType = Define.EventType.Click) { EventHandler eventHandler = gameObject.GetOrAddComponent <EventHandler>(); switch (eventType) { case Define.EventType.Click: eventHandler.EventOnClick -= action; eventHandler.EventOnClick += action; break; } }
public void onMouseEvent(Define.EventType evtType, int id, Define.MouseButton button, Vector3 pt, bool execute) { }
public void onMouseEvent(Define.EventType evtType, int id, Define.MouseButton button, Vector3 pt, bool execute) { (os.sys as SysInterfaceImpl).onMouseEvent(evtType, id, button, pt, execute); }