Beispiel #1
0
    //Three parameters
    static public void Broadcast <T, U, V>(EventName eventType, T arg1, U arg2, V arg3)
    {
#if LOG_ALL_MESSAGES || LOG_BROADCAST_MESSAGE
        Debug.Log("MESSENGER\t" + System.DateTime.Now.ToString("hh:mm:ss.fff") + "\t\t\tInvoking \t\"" + eventType + "\"");
#endif
        OnBroadcasting(eventType);

        Delegate d;
        if (eventTable.TryGetValue(eventType, out d))
        {
            CallbackMessenger <T, U, V> callback = d as CallbackMessenger <T, U, V>;

            if (callback != null)
            {
                callback(arg1, arg2, arg3);
            }
            else
            {
                throw CreateBroadcastSignatureException(eventType);
            }
        }
    }
Beispiel #2
0
 //Three parameters
 static public void RemoveListener <T, U, V>(EventName eventType, CallbackMessenger <T, U, V> handler)
 {
     OnListenerRemoving(eventType, handler);
     eventTable[eventType] = (CallbackMessenger <T, U, V>)eventTable[eventType] - handler;
     OnListenerRemoved(eventType);
 }
Beispiel #3
0
 //Three parameters
 static public void AddListener <T, U, V>(EventName eventType, CallbackMessenger <T, U, V> handler)
 {
     OnListenerAdding(eventType, handler);
     eventTable[eventType] = (CallbackMessenger <T, U, V>)eventTable[eventType] + handler;
 }