/// <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);
        }
        private void DeleteCharacter(object sender, JavascriptMethodEventArgs e)
        {
            if (ViewModel.ActiveCharacter != null)
            {
                string fileName = ViewModel.ActiveCharacter.FileName;
                DeleteCharacterPacket packet = new DeleteCharacterPacket(fileName, DeleteCharacterTypeEnum.Request);

                if (!Object.ReferenceEquals(WinterEngineService.NetworkClient, null))
                {
                    WinterEngineService.NetworkClient.SendPacket(packet, NetDeliveryMethod.ReliableUnordered);
                }
            }
        }
        /// <summary>
        /// Processes a packet containing the delete character response.
        /// </summary>
        /// <param name="packet"></param>
        private void ProcessDeleteCharacterResponsePacket(DeleteCharacterPacket packet)
        {
            if(packet.DeleteRequestType == DeleteCharacterTypeEnum.Accepted)
            {
                ViewModel.DeleteCharacterResponseMessage = "Your character has been deleted successfully.";
            }
            else if (packet.DeleteRequestType == DeleteCharacterTypeEnum.Denied)
            {
                ViewModel.DeleteCharacterResponseMessage = "Your request to delete your character has been denied by the server.";
            }
            else if (packet.DeleteRequestType == DeleteCharacterTypeEnum.DeniedDisabled)
            {
                ViewModel.DeleteCharacterResponseMessage = "The server has disabled character deletion.";
            }
            else if (packet.DeleteRequestType == DeleteCharacterTypeEnum.Error)
            {
                ViewModel.DeleteCharacterResponseMessage = "An error has occurred. Your character has not been deleted.";
            }
            else if (packet.DeleteRequestType == DeleteCharacterTypeEnum.FileNotFound)
            {
                ViewModel.DeleteCharacterResponseMessage = "Character does not exist.";
            }

            AsyncJavascriptCallback("DeleteCharacter_Callback", (int)packet.DeleteRequestType);
        }