Beispiel #1
0
        //TODO MainServer를 인자로 주지말고, func을 인자로 넘겨주는 것이 좋다
        public void CreateAndStart(List <Room> roomList, MainServer mainServer)
        {
            var maxRoomCount = MainServer.ServerOption.RoomMaxCount;
            var maxUserCount = maxRoomCount * MainServer.ServerOption.RoomMaxUserCount;

            UserMgr.Init(maxUserCount);

            GameUpdateMgr.Init(4, (UInt16)(maxRoomCount / 4));

            RoomList = roomList;
            var minRoomNum = RoomList[0].Number;
            var maxRoomNum = RoomList[0].Number + RoomList.Count() - 1;

            RoomNumberRange = new Tuple <int, int>(minRoomNum, maxRoomNum);

            RegistPacketHandler(mainServer);

            IsThreadRunning = true;
            ProcessThread   = new System.Threading.Thread(this.Process);
            ProcessThread.Start();
        }
Beispiel #2
0
 public void Init(MainServer serverNetwork, UserManager userMgr)
 {
     ServerNetwork = serverNetwork;
     UserMgr       = userMgr;
 }