/// <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); }
/// <summary> /// 添加协议回调 /// </summary> /// <param name="callback"></param> public void AddCallback(ProtocolCallback callback) { if (callback == null) { Debug.LogWarning("协议回调为啥是空的??"); return; } client.AddCallback(callback); }
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); }
/// <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); } } } }
/// <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; } }
/// <summary> /// 注册协议 /// </summary> /// <param name="protocolId"></param> /// <param name="callback"></param> protected virtual void Reg(int protocolId, ProtocolCallback callback) { }
/// <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); }