Пример #1
0
        public void BindCharacters()
        {
            User prevuser = null;

            foreach (User user in UserList)
            {
                do
                {
                    user.Character = CharacterDatasheet.RandomCharacter();
                } while (prevuser != null && user.Character.Index == prevuser.Character.Index);

                prevuser = user;
            }
        }
Пример #2
0
        static void Main(string[] args)
        {
            SessionManager.CreateSessionImpl = (sessionId) => new User(sessionId);

            // Datasheet Load
            CommonDatasheet.Load();
            CharacterDatasheet.Load();

            ServerService service = new ServerService();

            service.Start(ServerPort);

            Console.WriteLine("Press any key to terminate the server process....");
            Console.ReadKey();
        }
Пример #3
0
        private void Handler_C_SELECT_SHIP(IPacket packet)
        {
            if (status != UserStatus.InGame)
            {
                return;
            }

            C_SELECT_SHIP receive = (C_SELECT_SHIP)packet;

            if (receive.GameId == SessionId)
            {
                Ship = CharacterDatasheet.FindTemplate(receive.ShipId);
            }

            S_PLAYER_SHIP send = new S_PLAYER_SHIP();

            send.GameId        = receive.GameId;
            send.ShipId        = receive.ShipId;
            send.StartPosition = CharacterDatasheet.FindTemplate(receive.ShipId).Start;

            MachingRoom.Broadcast(send);
        }