/// <summary>
        /// Processes a delete character request and returns a response.
        /// </summary>
        /// <param name="packet"></param>
        private void ProcessDeleteCharacterRequest(DeleteCharacterPacket packet)
        {
            DeleteCharacterTypeEnum responseType = DeleteCharacterTypeEnum.Denied;

            if (Model.IsCharacterDeletionEnabled)
            {
                string filePath = DirectoryPaths.CharacterVaultDirectoryPath + Model.ConnectionUsernamesDictionary[packet.SenderConnection] + "/" + packet.FileName;

                using(PlayerCharacterFileAccess repo = new PlayerCharacterFileAccess())
                {
                    responseType = repo.DeletePlayerCharacterFile(filePath);
                }
            }
            else
            {
                responseType = DeleteCharacterTypeEnum.DeniedDisabled;
            }

            DeleteCharacterPacket response = new DeleteCharacterPacket(packet.FileName, responseType);
            Agent.SendPacket(response, packet.SenderConnection, NetDeliveryMethod.ReliableUnordered);
        }
        /// <summary>
        /// Returns packet to sender containing the server's announcement, name and the sender's character information.
        /// </summary>
        private void ProcessCharacterSelectionRequest(RequestPacket packet)
        {
            List<PlayerCharacter> characterList = new List<PlayerCharacter>();

            if (Model.ConnectionUsernamesDictionary.ContainsKey(packet.SenderConnection))
            {
                string username = Model.ConnectionUsernamesDictionary[packet.SenderConnection];
                using (PlayerCharacterFileAccess repo = new PlayerCharacterFileAccess())
                {
                    characterList = repo.GetCharactersByUsername(username);
                }

                CharacterSelectionPacket responsePacket = new CharacterSelectionPacket
                {
                    ServerAnnouncement = Model.ServerAnnouncement,
                    ServerName = Model.ServerName,
                    CharacterList = characterList,
                    CanDeleteCharacters = Model.IsCharacterDeletionEnabled
                };

                Agent.SendPacket(responsePacket, packet.SenderConnection, NetDeliveryMethod.ReliableUnordered);
            }
        }