public static void RemoveFile(ArchiveFileWrapper fileNode, IArchiveFile archiveFile) { if (!archiveFile.CanDeleteFiles) return; var parentNode = fileNode.Parent; bool HasRemovedFile = archiveFile.DeleteFile(fileNode.ArchiveFileInfo); if (HasRemovedFile) parentNode.Nodes.Remove(fileNode); }
public static void RemoveFolder(TreeNode folderNode, IArchiveFile archiveFile) { if (!archiveFile.CanDeleteFiles) return; foreach (var node in TreeViewExtensions.Collect(folderNode.Nodes)) { if (node is ArchiveFileWrapper) archiveFile.DeleteFile(((ArchiveFileWrapper)node).ArchiveFileInfo); } var parentNode = folderNode.Parent; parentNode.Nodes.Remove(folderNode); }
private void OnTextureDeleted(object sender, EventArgs e) { var tex = (TextureData)sender; foreach (var file in ArchiveFile.Files) { if (file.FileFormat != null && file.FileFormat is BNTX) { var bntx = (BNTX)file.FileFormat; if (bntx.Textures.ContainsKey(tex.Text)) { bntx.RemoveTexture(tex); bntx.Unload(); ArchiveFile.DeleteFile(file); Nodes.RemoveByKey(tex.Text); } } } }