/// <summary> /// 发送请求(带有重试功能) /// </summary> /// <param name="key">操作字典键(枚举类型)</param> /// <param name="data">数据</param> /// <param name="onSuccess">成功回调</param> /// <param name="onError">失败回调</param> /// <param name="uid">是否需要携带玩家信息</param> protected void sendRequest(Enum key, JsonData data = null, NetworkSystem.RequestObject.SuccessAction onSuccess = null, UnityAction onError = null, string waitFormat = WaitTextFormat, string failFormat = FailTextFormat, bool uid = false) { sendRequest(key.GetHashCode(), data, onSuccess, onError, waitFormat, failFormat, uid); }
/// <summary> /// 发送请求(带有重试功能) /// 将会自动根据操作文本确定错误文本和等待文本 /// </summary> /// <param name="oper">操作文本</param> /// <param name="route">路由</param> /// <param name="data">数据</param> /// <param name="onSuccess">成功回调</param> /// <param name="onError">失败回调</param> /// <param name="uid">是否需要携带玩家信息</param> /// <param name="emit">是否为发射操作</param> protected void sendRequest(string oper, string route, JsonData data = null, NetworkSystem.RequestObject.SuccessAction onSuccess = null, UnityAction onError = null, string waitFormat = WaitTextFormat, string failFormat = FailTextFormat, bool uid = false, bool emit = false) { sendRequest(route, data, string.Format(waitFormat, oper), string.Format(failFormat, oper), onSuccess, onError, uid, emit); }
/// <param name="waitText">等待文本</param> /// <param name="failText">错误文本</param> protected void sendRequest(string route, JsonData data = null, string waitText = "", string failText = "", NetworkSystem.RequestObject.SuccessAction onSuccess = null, UnityAction onError = null, bool emit = false) { NetworkSystem.RequestObject.ErrorAction _onError = generateOnErrorFunc(failText, () => sendRequest(route, data, waitText, failText, onSuccess, onError, emit), onError); networkSys.setupRequest(route, data, onSuccess, _onError, true, waitText, emit); }
/// <summary> /// 发送请求(带有重试功能) /// </summary> /// <param name="key">操作字典键(枚举类型)</param> /// <param name="data">数据</param> /// <param name="onSuccess">成功回调</param> /// <param name="onError">失败回调</param> /* * protected void sendRequest(Enum key, JsonData data = null, * NetworkSystem.RequestObject.SuccessAction onSuccess = null, UnityAction onError = null, * string waitFormat = WaitTextFormat, string failFormat = FailTextFormat) { * sendRequest(key.GetHashCode(), data, onSuccess, onError, waitFormat, failFormat); * } * protected void sendRequest(int key, JsonData data = null, * NetworkSystem.RequestObject.SuccessAction onSuccess = null, UnityAction onError = null, * string waitFormat = WaitTextFormat, string failFormat = FailTextFormat) { * if (operDict.ContainsKey(key)) * sendRequest(operDict[key], data, onSuccess, onError, waitFormat, failFormat); * else Debug.LogError("未找到操作键 " + key + ",请检查操作字典"); * } */ /// <param name="oper">操作实例</param> protected void sendRequest(Interface oper, JsonData data = null, NetworkSystem.RequestObject.SuccessAction onSuccess = null, UnityAction onError = null, string waitFormat = WaitTextFormat, string failFormat = FailTextFormat) { if (oper == null) { return; } sendRequest(oper.name, oper.route, data, onSuccess, onError, waitFormat, failFormat, oper.emit); }
/// <summary> /// 发送请求(带有重试功能) /// 将会自动根据操作字典键确定操作文本 /// </summary> /// <param name="key">操作字典键</param> /// <param name="data">数据</param> /// <param name="onSuccess">成功回调</param> /// <param name="onError">失败回调</param> /// <param name="uid">是否需要携带玩家信息</param> protected void sendRequest(int key, JsonData data = null, NetworkSystem.RequestObject.SuccessAction onSuccess = null, UnityAction onError = null, string waitFormat = WaitTextFormat, string failFormat = FailTextFormat, bool uid = false) { if (operDict.ContainsKey(key)) { var oper = operDict[key]; sendRequest(oper.name, oper.route, data, onSuccess, onError, waitFormat, failFormat, oper.uid, oper.emit); } else { Debug.LogError("未找到操作键 " + key + ",请检查操作字典"); } }
/// <summary> /// 发送请求(带有重试功能) /// </summary> /// <param name="route">路由</param> /// <param name="data">数据</param> /// <param name="waitText">等待文本</param> /// <param name="failText">错误文本</param> /// <param name="onSuccess">成功回调</param> /// <param name="onError">失败回调</param> /// <param name="uid">是否需要携带玩家信息</param> /// <param name="emit">是否为发射操作</param> protected void sendRequest(string route, JsonData data = null, string waitText = "", string failText = "", NetworkSystem.RequestObject.SuccessAction onSuccess = null, UnityAction onError = null, bool uid = false, bool emit = false) { NetworkSystem.RequestObject.ErrorAction _onError = generateOnErrorFunc(failText, () => sendRequest(route, data, waitText, failText, onSuccess, onError, uid, emit), onError); if (uid) { if (data == null) { data = new JsonData(); } data["uid"] = getPlayerId(); // 添加玩家信息 } networkSys.setupRequest(route, data, onSuccess, _onError, true, waitText, emit); }