예제 #1
0
 /// <summary>
 /// 添加协议回调
 /// </summary>
 /// <param name="callback"></param>
 public void AddCallback(ProtocolCallback callback)
 {
     if (protocolCallback.ContainsKey(callback.protocol))
     {
         protocolCallback.Remove(callback.protocol);
     }
     protocolCallback.Add(callback.protocol, callback);
 }
예제 #2
0
 /// <summary>
 /// 添加协议回调
 /// </summary>
 /// <param name="callback"></param>
 public void AddCallback(ProtocolCallback callback)
 {
     if (callback == null)
     {
         Debug.LogWarning("协议回调为啥是空的??");
         return;
     }
     client.AddCallback(callback);
 }
예제 #3
0
    public static void Define( string name, string[] paramTypes, ProtocolCallback callback )
    {
        FunctionRef fr = new FunctionRef();
        fr.id = _this._id++;
        fr.name = name;
        fr.paramTypes = paramTypes;
        fr.callback = callback;

        _this.functions.Add(fr);
    }
예제 #4
0
        /// <summary>
        /// 注销协议回调
        /// </summary>
        /// <param name="protocolID"></param>
        /// <param name="id"></param>
        /// <param name="callback"></param>
        public void UnregisterProtocolCallback(int protocolID, string id, ProtocolCallback callback)
        {
            Dictionary <int, ProtocolCallback> callbacks;

            if (_callbackDict.TryGetValue(id, out callbacks))
            {
                ProtocolCallback callbackList;
                if (callbacks.TryGetValue(protocolID, out callbackList))
                {
                    callbackList -= callback;
                    if (callbackList == null)
                    {
                        callbacks.Remove(protocolID);
                    }
                }
            }
        }
예제 #5
0
        /// <summary>
        /// 注册协议回调
        /// </summary>
        /// <param name="protocolID"></param>
        /// <param name="id"></param>
        /// <param name="callback"></param>
        public void RegisterProtocolCallback(int protocolID, string id, ProtocolCallback callback)
        {
            Dictionary <int, ProtocolCallback> callbacks;

            if (_callbackDict.TryGetValue(id, out callbacks) == false)
            {
                _callbackDict[id] = callbacks = new Dictionary <int, ProtocolCallback>();
            }

            ProtocolCallback callbackList;

            if (callbacks.TryGetValue(protocolID, out callbackList) == false)
            {
                callbacks[protocolID] = callbackList = callback;
            }
            else
            {
                callbackList += callback;
            }
        }
예제 #6
0
 /// <summary>
 /// 注册协议
 /// </summary>
 /// <param name="protocolId"></param>
 /// <param name="callback"></param>
 protected virtual void Reg(int protocolId, ProtocolCallback callback)
 {
 }
예제 #7
0
 /// <summary>
 /// 发送协议
 /// </summary>
 /// <param name="protocol"></param>
 /// <param name="data"></param>
 /// <param name="callback"></param>
 public void SendProtocol(Protocol.PROTOCOL protocol, Dictionary <string, object> data, ProtocolCallback callback)
 {
     if (callback != null)
     {
         AddCallback(callback);
     }
     client.SendProtocol(protocol, data);
 }