Example #1
0
        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();
        }
Example #2
0
 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();
     }
 }
Example #3
0
 protected void threadLog(MsgRouteBase msg)
 {
     Ctx.m_instance.m_logSys.log((msg as ThreadLogMR).m_logSys);
 }