예제 #1
0
    public static void TriggerEvent <T>(string eventName, T go)
    {
        UnityEventsList eventList = null;

        if (Instance.eventDictionary.TryGetValue(eventName, out eventList))
        {
            eventList.ExecuteEvents(go);
        }
    }
예제 #2
0
    public static void StopListening <T>(string eventName, UnityAction <T> listener)
    {
        if (editorEventManager == null)
        {
            return;
        }

        UnityEventsList eventList = null;

        if (Instance.eventDictionary.TryGetValue(eventName, out eventList))
        {
            eventList.RemoveEvent(listener);
        }
    }
예제 #3
0
    public static void StartListening <T>(string eventName, UnityAction <T> listener)
    {
        UnityEventsList eventList = null;

        if (Instance.eventDictionary.TryGetValue(eventName, out eventList))
        {
            eventList.AddEvent(listener);
        }
        else
        {
            eventList = new UnityEventsList(new ObjectUnityEvent <T>(listener));
            Instance.eventDictionary.Add(eventName, eventList);
        }
    }