//Three parameters
    static public void AddListener <T, U, V>(MessageId_Receive messageID, Callback <T, U, V> handler)
    {
        uint eventType = (uint)messageID;

        OnListenerAdding(eventType, handler);
        m_eventListenTable[eventType] = (Callback <T, U, V>)m_eventListenTable[eventType] + handler;
    }
    //Three parameters
    static public void RemoveListener <T, U, V>(MessageId_Receive messageID, Callback <T, U, V> handler)
    {
        uint eventType = (uint)messageID;

        if (OnListenerRemoving(eventType, handler))
        {
            m_eventListenTable[eventType] = (Callback <T, U, V>)m_eventListenTable[eventType] - handler;
            if (m_eventListenTable[eventType] == null)
            {
                Remove(eventType);
            }
        }
    }
 static public void BroadcastAsync <T, U, V>(MessageId_Receive eventType, T arg1, U arg2, V arg3)
 {
     DoBroadcast <T, U, V>((uint)eventType, arg1, arg2, arg3, true);
 }
 //Two parameters
 static public void Broadcast <T, U>(MessageId_Receive eventType, T arg1, U arg2)
 {
     DoBroadcast <T, U>((uint)eventType, arg1, arg2, false);
 }
 static public void BroadcastAsync <T>(MessageId_Receive eventType, T arg1)
 {
     DoBroadcast <T>((uint)eventType, arg1, true);
 }
 static public void BroadcastAsync(MessageId_Receive eventType)
 {
     DoBroadcast((uint)eventType, true);
 }
 static public void Broadcast(MessageId_Receive eventType)
 {
     DoBroadcast((uint)eventType, false);
 }
Beispiel #8
0
 protected void SendToClient(MessageId_Receive messageId, IMessage message)
 {
     Game.NetworkManager.Session.OnMessage((ushort)messageId, message);
 }