// Tick 主游戏流程 public void SetGameMainStatus(NETMANAGER_STATUS netStatus) { switch (netStatus) { case NETMANAGER_STATUS.CONNECT_SUCESS: { break; } case NETMANAGER_STATUS.CONNECT_FAILED_CONNECT_ERROR: { break; } case NETMANAGER_STATUS.CONNECT_FAILED_TIME_OUT: { break; } case NETMANAGER_STATUS.CONNECT_EXIT: { GetNetwork().Disconnect(); GameProcedure.s_pEventSystem.PushEvent(GAME_EVENT_ID.GE_NET_CLOSE, "服务器关闭连接!"); break; } default: { break; } } }
/// <summary> /// 网络状态改变回调函数 /// </summary> /// <param name="netStatus">改变的网络状态</param> public override void NetStatusChange(NETMANAGER_STATUS netStatus) { if (GameProcedure.GetActiveProcedure() == GameProcedure.s_ProcMain) { SetNetStatus(netStatus); } }
// Tick 游戏登录流程. public void SetGameLoginStatus(NETMANAGER_STATUS netStatus) { switch (netStatus) { case NETMANAGER_STATUS.CONNECT_SUCESS: { //LogManager.Log("Connect Sucess"); GameProcedure.s_ProcLogIn.SetStatus(GamePro_Login.PLAYER_LOGIN_STATUS.LOGIN_CONNECTED_OK); // break; } case NETMANAGER_STATUS.CONNECT_FAILED_CONNECT_ERROR: { GameProcedure.s_ProcLogIn.SetStatus(GamePro_Login.PLAYER_LOGIN_STATUS.LOGIN_CONNECT_FAILED); GameProcedure.s_pEventSystem.PushEvent(GAME_EVENT_ID.GE_NET_CLOSE, "网络连接失败!"); break; } case NETMANAGER_STATUS.CONNECT_FAILED_TIME_OUT: { //LogManager.Log("Connect failed time out"); GameProcedure.s_ProcLogIn.SetStatus(GamePro_Login.PLAYER_LOGIN_STATUS.LOGIN_CONNECT_FAILED); GameProcedure.s_pEventSystem.PushEvent(GAME_EVENT_ID.GE_NET_CLOSE, "连接超时!"); break; } case NETMANAGER_STATUS.CONNECT_EXIT: { //LogManager.Log("Connect exit"); GameProcedure.s_ProcLogIn.SetStatus(GamePro_Login.PLAYER_LOGIN_STATUS.LOGIN_CONNECT_FAILED); GameProcedure.s_pEventSystem.PushEvent(GAME_EVENT_ID.GE_NET_CLOSE, "连接退出!"); } break; case NETMANAGER_STATUS.NO_CONNECT: GameProcedure.s_pEventSystem.PushEvent(GAME_EVENT_ID.GE_NET_CLOSE, "网络连接失败!"); break; default: { break; } } }
// // Tick不同的游戏流程 // //-------------------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------------------- // // 设置网络状态 // // 设置网络状态 //-------------------------------------------------------------------------------------------------------------- // // 设置网络状态 // // 设置网络状态 public void SetNetStatus(NETMANAGER_STATUS netStatus) { //当前流程是登录流程 if (GameProcedure.GetActiveProcedure() == GameProcedure.s_ProcLogIn) { // Tick 游戏登录流程. SetGameLoginStatus(netStatus); } //处于主游戏循环中 else if (GameProcedure.GetActiveProcedure() == GameProcedure.s_ProcMain) { // Tick 主游戏流程 SetGameMainStatus(netStatus); } else if (GameProcedure.GetActiveProcedure() == GameProcedure.s_ProcChangeScene) { GameProcedure.s_ProcChangeScene.SetStatus(GamePro_ChangeScene.PLAYER_CHANGE_SERVER_STATUS.CHANGESCENE_CONNECT_SUCCESS); } }