public void TestEventIdsAndTypes() { Assert.AreNotEqual(OneSimpleEventArgs.TheEventId, AnotherSimpleEventArgs.TheEventId); Assert.IsTrue(EventIdToTypeMap.HasEventId(OneSimpleEventArgs.TheEventId)); Assert.IsTrue(EventIdToTypeMap.HasEventId(AnotherSimpleEventArgs.TheEventId)); Assert.IsTrue(EventIdToTypeMap.HasEventType <OneSimpleEventArgs>()); Assert.IsTrue(EventIdToTypeMap.HasEventType <AnotherSimpleEventArgs>()); Assert.IsFalse(EventIdToTypeMap.HasEventId(10000000)); Assert.IsFalse(EventIdToTypeMap.HasEventType <NoIdEventArgs>()); }
private bool DrawListenersOfOneEventId(int eventId) { var listenerCount = m_Listeners.ContainsKey(eventId) ? m_Listeners[eventId].Count : 0; if (!m_ShowNoListenerEvents && listenerCount <= 0) { return(false); } var eventType = EventIdToTypeMap.GetEventType(eventId); var displayName = m_SortingOrder == SortingOrder.EventTypeFullName ? eventType.FullName : eventType.Name; var foldout = EditorGUILayout.Foldout(eventId == m_FoldoutEventId, Core.Utility.Text.Format("[{0}] {1} ({2} listener(s))", eventId, displayName, listenerCount)); if (eventId == m_FoldoutEventId && !foldout) { m_FoldoutEventId = 0; } if (foldout) { m_FoldoutEventId = eventId; } if (!foldout || listenerCount <= 0) { return(true); } EditorGUILayout.BeginHorizontal(); { GUILayout.Space(FoldoutIndent); EditorGUILayout.BeginVertical(); { foreach (var listener in m_Listeners[eventId]) { var targetName = listener.Target == null ? "<null>" : listener.Target.ToString(); var methodName = listener.Method.Name; EditorGUILayout.LabelField(Core.Utility.Text.Format("Target: '{0}', Method: '{1}'", targetName, methodName)); } } EditorGUILayout.EndVertical(); } EditorGUILayout.EndHorizontal(); return(true); }
public void TestGenerateEventIdError() { Assert.Throws <ArgumentException>(() => EventIdToTypeMap.Generate <AbstractEventArgs>()); }