public void RemoveUIEventListener(enUIEventID eventID, UIEventManager.OnUIEventHandler onUIEventHandler) { if (m_uiEventHandlerMap[(int)((UIntPtr)eventID)] != null) { UIEventManager.OnUIEventHandler[] onUIEventHandlerMap = m_uiEventHandlerMap; UIntPtr ptr = (UIntPtr)eventID; onUIEventHandlerMap[(int)ptr] = (UIEventManager.OnUIEventHandler)Delegate.Remove(onUIEventHandlerMap[(int)ptr], onUIEventHandler); } }
public void DispatchUIEvent(UIEvent uiEvent) { uiEvent.inUse = true; UIEventManager.OnUIEventHandler onUIEventHandler = m_uiEventHandlerMap[(int)((UIntPtr)uiEvent.eventID)]; if (onUIEventHandler != null) { onUIEventHandler(uiEvent); } uiEvent.Clear(); }
public void AddUIEventListener(enUIEventID eventID, UIEventManager.OnUIEventHandler onUIEventHandler) { if (m_uiEventHandlerMap[(int)((UIntPtr)eventID)] == null) { m_uiEventHandlerMap[(int)((UIntPtr)eventID)] = delegate { }; UIEventManager.OnUIEventHandler[] onUIEventHandlerMap = m_uiEventHandlerMap; UIntPtr intPtr = (UIntPtr)eventID; onUIEventHandlerMap[(int)intPtr] = (UIEventManager.OnUIEventHandler)Delegate.Combine(onUIEventHandlerMap[(int)intPtr], onUIEventHandler); } else { UIEventManager.OnUIEventHandler[] onUIEventHandlerMap1 = m_uiEventHandlerMap; UIntPtr intPtr1 = (UIntPtr)eventID; onUIEventHandlerMap1[(int)intPtr1] = (UIEventManager.OnUIEventHandler)Delegate.Remove(onUIEventHandlerMap1[(int)intPtr1], onUIEventHandler); UIEventManager.OnUIEventHandler[] onUIEventHandlerMap2 = m_uiEventHandlerMap; UIntPtr intPtr2 = (UIntPtr)eventID; onUIEventHandlerMap2[(int)intPtr2] = (UIEventManager.OnUIEventHandler)Delegate.Combine(onUIEventHandlerMap2[(int)intPtr2], onUIEventHandler); } }