public virtual void DispatchEvent(GUIEvent e, GUIMenu menu, int itemIndex) { if (menu == null || !m_Listeners.ContainsKey(menu)) return; for(int i = 0 ; i < m_Listeners[menu].Count; i++) { switch (e) { case GUIEvent.eMouseClick: m_Listeners[menu][i].OnItemClick(menu ,itemIndex); break; case GUIEvent.eMouseEnter: m_Listeners[menu][i].OnItemMouseEnter(menu ,itemIndex); break; case GUIEvent.eMouseExit: m_Listeners[menu][i].OnItemMouseExit(menu ,itemIndex); break; default: break; } } }
public static GUIEvent <Enum> EnumPopup(Rect pos, Enum selected, GUIStyle style) => GUIEvent.Create(pos, EditorGUI.EnumPopup(pos, selected, style));
public static eInt Popup(Rect pos, GUICon label, int selected, GUICon[] Options, GUIStyle style) => GUIEvent.Create(pos, EditorGUI.Popup(pos, label, selected, Options, style));
public static eInt Popup(Rect pos, string label, int selected, GUICon[] Options) => GUIEvent.Create(pos, EditorGUI.Popup(pos, selected, Options, label));
public static eBool FoldoutMaster(Rect rect, bool foldout, GUICon guiCon, GUIStyle style) => GUIEvent.Create(EditorGUI.Foldout(rect, foldout, guiCon, style));
public abstract bool HandleEvent(GUIEvent guiEvent);