Esempio n. 1
0
        private static void DeleteCraft(CraftLibraryDeleteRequestMsgData deleteMsg)
        {
            if (System.CraftInfo.TryGetValue(deleteMsg.CraftToDelete.FolderName, out var folderCraftEntries))
            {
                folderCraftEntries.TryRemove(deleteMsg.CraftToDelete.CraftName, out _);
                //No crafts in this folder so remove it
                if (folderCraftEntries.Count == 0)
                {
                    System.CraftInfo.TryRemove(deleteMsg.CraftToDelete.FolderName, out _);
                }
            }

            if (System.CraftDownloaded.TryGetValue(deleteMsg.CraftToDelete.FolderName, out var downloadedCrafts))
            {
                downloadedCrafts.TryRemove(deleteMsg.CraftToDelete.CraftName, out _);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Deletes a requested craft
        /// </summary>
        public static void DeleteCraft(ClientStructure client, CraftLibraryDeleteRequestMsgData data)
        {
            if (client.PlayerName != data.CraftToDelete.FolderName)
            {
                return;
            }

            var file = Path.Combine(CraftPath, data.CraftToDelete.FolderName, data.CraftToDelete.CraftType.ToString(),
                                    $"{data.CraftToDelete.CraftName}.craft");

            if (FileHandler.FileExists(file))
            {
                FileHandler.FileDelete(file);

                LunaLog.Debug($"Deleting craft {data.CraftToDelete.CraftName} as requested by {client.PlayerName}.");
                MessageQueuer.SendToAllClients <CraftLibrarySrvMsg>(data);
            }
        }