public void MainLoop() { // 处理客户端自己的消息机制 MsgRouteBase routeMsg = null; while ((routeMsg = Ctx.m_instance.m_sysMsgRoute.pop()) != null) { Ctx.m_instance.m_msgRouteList.handleMsg(routeMsg); } // 处理网络 if (!Ctx.m_instance.m_netDispList.bStopNetHandle) { ByteBuffer ret = null; while ((ret = Ctx.m_instance.m_netMgr.getMsg()) != null) { if (null != Ctx.m_instance.m_netDispList) { Ctx.m_instance.m_netDispList.addOneHandleMsg(); Ctx.m_instance.m_netDispList.handleMsg(ret); } } } // 处理 input //Ctx.m_instance.m_inputMgr.handleKeyBoard(); // 游戏循环处理 Ctx.m_instance.m_processSys.ProcessNextFrame(); Ctx.m_instance.m_logSys.updateLog(); }
protected void handleSocketOpened(MsgRouteBase msg) { if (Ctx.m_instance.m_loginSys.get_LoginState() == LoginState.eLoginingLoginServer) { (Ctx.m_instance.m_loginSys as LoginSys).m_loginFlowHandle.onLoginServerSocketOpened(); } else if (Ctx.m_instance.m_loginSys.get_LoginState() == LoginState.eLoginingGateServer) { (Ctx.m_instance.m_loginSys as LoginSys).m_loginFlowHandle.onGateServerSocketOpened(); } }
protected void threadLog(MsgRouteBase msg) { Ctx.m_instance.m_logSys.log((msg as ThreadLogMR).m_logSys); }