Exemplo n.º 1
0
        public ERROR_CODE Create(MainServer mainServer)
        {
            var roomThreadCount = MainServer.ServerOption.RoomThreadCount;
            
            Room.NetSendFunc = mainServer.SendData;

            SessionManager.CreateSession(ClientSession.MaxSessionCount);

            RoomMgr.CreateRooms();

            CommonPacketProcessor = new PacketProcessor();
            CommonPacketProcessor.CreateAndStart(true, null, mainServer, SessionManager);
                        
            for (int i = 0; i < roomThreadCount; ++i)
            {
                var packetProcess = new PacketProcessor();
                packetProcess.CreateAndStart(false, RoomMgr.GetRoomList(i), mainServer, SessionManager);
                PacketProcessorList.Add(packetProcess);
            }

            DBWorker.MainLogger = MainServer.MainLogger;
            var error = DBWorker.CreateAndStart(MainServer.ServerOption.DBWorkerThreadCount, DistributeDBJobResult, MainServer.ServerOption.RedisAddres);
            if (error != ERROR_CODE.NONE)
            {
                return error;
            }

            return ERROR_CODE.NONE;
        }