Пример #1
0
        public static void CreateCharacter(IConnection connection, PlayerData playerData)
        {
            if (connection.GameAccount.Players.Count >= 8 ||
                PlayerService.CheckName(playerData.Name, 1) != CheckNameResult.Ok ||
                !PlayerService.CheckNameForUse(playerData.Name, 1))
            {
                FeedbackService.SendCreateCharacterResult(connection, false);
                return;
            }

            Player player = PlayerService.CreateCharacter(connection, playerData);

            StorageService.AddStartItemsToPlayer(player);

            FeedbackService.SendCreateCharacterResult(connection, true);

            UsedPlayerNames.Add(playerData.Name.ToLower());
        }
Пример #2
0
        //ToDo
        public static void RemovePlayer(IConnection connection, int playerId)
        {
            Player p = connection.GameAccount.Players.FirstOrDefault(player => player.PlayerId == playerId);

            if (p == null)
            {
                return;
            }

            if (UsedPlayerNames.Contains(p.PlayerData.Name.ToLower()))
            {
                UsedPlayerNames.Remove(p.PlayerData.Name.ToLower());
            }

            PartyService.LeaveParty(p);
            GuildService.LeaveGuild(p, p.Guild);
            connection.GameAccount.Players.Remove(connection.GameAccount.Players.FirstOrDefault(player => player.PlayerId == playerId));
            FeedbackService.SendCharRemove(connection);
        }