public static CHErrorMsg GetError(string result) { CHErrorMsg errorData = new CHErrorMsg(); try { /* * JsonReader jsonReader = new JsonReader(result); * while (jsonReader.Read()) * { * if (JsonUtil.IsPropertyName(jsonReader, "err")) * { * errorData.err_type = JsonUtil.GetValueInt(jsonReader); * } * else if (JsonUtil.IsPropertyName(jsonReader, "reason")) * { * errorData.reason = JsonUtil.GetValue(jsonReader); * UnityEngine.Debug.Log("GetError is " + errorData.reason); * } * else if (JsonUtil.IsPropertyName(jsonReader, "ok_load")) * { * errorData.ok_load = JsonUtil.GetValue(jsonReader); * } * else if (JsonUtil.IsPropertyName(jsonReader, "cancel_load")) * { * errorData.cancel_load = JsonUtil.GetValue(jsonReader); * } * } */ JsonData data = JsonMapper.ToObject(result); for (int i = 0; i < data.Count; i++) { var dataArray = data[i]; //if (CommonFunc.CheckJsonDataHasKey(dataArray, "err")) //{ // errorData.err_type = CommonFunc.ParseIntFromString(dataArray, "err"); //} //if (CommonFunc.CheckJsonDataHasKey(dataArray, "reason")) //{ // errorData.reason = CommonFunc.ParseStringFromJsonData(dataArray, "reason"); //} //if (CommonFunc.CheckJsonDataHasKey(dataArray, "ok_load")) //{ // errorData.ok_load = CommonFunc.ParseStringFromJsonData(dataArray, "ok_load"); //} //if (CommonFunc.CheckJsonDataHasKey(dataArray, "cancel_load")) //{ // errorData.cancel_load = CommonFunc.ParseStringFromJsonData(dataArray, "cancel_load"); //} } } catch (Exception e) { errorData.err_type = 1; errorData.reason = result; } return(errorData); }
public void HandleSocketMsg(CHSocketMsg msg) { try { if (msg == null || string.IsNullOrEmpty(msg.receiveText)) { return; } string text = msg.receiveText; text = WWW.UnEscapeURL(text); CHErrorMsg errorData = CHErrorMsg.GetError(text); if (errorData.err_type != 0) { UnityEngine.Debug.Log("error type : " + errorData.err_type + " error reason: " + errorData.reason); string reason = errorData.reason; if (errorData.err_type == 2) { //CHFuncSocket.instance.CloseAndDestory(); //FEPOPWindowUI.instance.ShowOk(errorData.reason, gameObject, errorData.ok_load); } else if (errorData.err_type == 3) { // FEPOPWindowUI.instance.ShowOkCancel(errorData.reason, gameObject, errorData.ok_load, errorData.cancel_load); } else if (errorData.err_type == 4) { if (msg.callBackErr != null && msg.callBackErr.Target != null) { msg.callBackErr(reason); } } else { //FEPOPWindowUI.instance.ShowOk(errorData.reason, gameObject, ""); } } else { if (msg.successCallBackBeforeFunc != null && msg.successCallBackBeforeFunc.Target != null) { msg.successCallBackBeforeFunc(); } if (msg.successCallBack != null)// && msg.successCallBack.Target != null) { msg.successCallBack(text); } if (msg.successCallBackAfterFunc != null)// && msg.successCallBackAfterFunc.Target != null) { msg.successCallBackAfterFunc(); } } } catch (Exception e) { Debug.LogError(e.ToString()); } }