public static PacketCore HandleError(PacketErrorType error_type, string message, params object[] args) { PacketCore _ack = new PacketCore(); PacketError _PacketError = new PacketError(); _PacketError.type = error_type; _PacketError.message = string.Format(message, args); _ack.Name = typeof(PacketError).FullName; _ack.Data = JsonConvert.SerializeObject(_PacketError, Formatting.None, NetworkCore.PacketUtil.json_ops); return(_ack); }
void OnPacketError(CS_Client server, HTTPRequest request, object send_packet, NetworkCore.PacketError packet) { HideIndicator(); Debug.LogWarningFormat("OnPacketError({0}, {1}) : {2}", packet.type, send_packet.GetType().FullName, packet.message); if (ConnectState == eConnectState.connecting) { ConnectState = eConnectState.idle; } switch (packet.type) { case NetworkCore.PacketErrorType.Title: Popup.Instance.ShowCallback(new PopupCallback.Callback(new Action(CallbackRestart), null), packet.message); break; case NetworkCore.PacketErrorType.SessionExpired: Popup.Instance.ShowCallbackKey(new PopupCallback.Callback(new Action(CallbackRestart), null), "LoginResult_SessionExpired"); break; case NetworkCore.PacketErrorType.NeedToUpdate: Popup.Instance.ShowCallbackKey(new PopupCallback.Callback(new System.Action <string>(ApplicationUpdate), new object[] { packet.message }), "NeedToUpdate"); break; case NetworkCore.PacketErrorType.Retry: Popup.Instance.ShowCallbackKey(new PopupCallback.Callback(new Action <CS_Client, HTTPRequest>(CallbackRetry), new object[] { server, request }, "Retry"), "ServerError", packet.message); IsRetry = true; break; case NetworkCore.PacketErrorType.Maintenance: Popup.Instance.ShowCallbackKey(new PopupCallback.Callback(new Action(CallbackQuit), null), "LoginResult_Maintenance", packet.message); break; case NetworkCore.PacketErrorType.Timeout: Popup.Instance.ShowCallbackKey(new PopupCallback.Callback(new Action <CS_Client, HTTPRequest>(CallbackRetry), new object[] { server, request }, "Retry"), "NetworkErrorTimeOut"); IsRetry = true; break; case NetworkCore.PacketErrorType.UserLimit: Popup.Instance.ShowCallbackKey(new PopupCallback.Callback(new Action(CallbackQuit), null), "LoginResult_UserLimit", packet.message); break; case NetworkCore.PacketErrorType.Quit: Popup.Instance.ShowCallbackKey(new PopupCallback.Callback(new Action(CallbackQuit), null), "ServerErrorQuit", packet.message); break; case NetworkCore.PacketErrorType.Ignore: Popup.Instance.ShowCallbackKey(new PopupCallback.Callback(null, null), "ServerError", packet.message); break; case NetworkCore.PacketErrorType.ServerForward: game_server.InitUri(packet.message); CallbackRetry(server, request); break; case NetworkCore.PacketErrorType.Message: Popup.Instance.ShowMessage(packet.message); break; case NetworkCore.PacketErrorType.MessageKey: Popup.Instance.ShowMessageKey(packet.message); break; case NetworkCore.PacketErrorType.Reconnect: CallbackRetry(server, request); break; default: Popup.Instance.ShowCallbackKey(new PopupCallback.Callback(new Action(CallbackQuit), null), "ServerErrorQuit", packet.message); break; } }