private static void MenuOpening(object sender, CancelEventArgs e) { TyDataListEntryWrapper w = GetInstance <TyDataListEntryWrapper>(); TyDataListEntryNode entry = (TyDataListEntryNode)w._resource; string dir = entry.RootNode.DirectoryName; if (entry.RootNode is TyDataNode && File.Exists(Path.Combine(dir, $"{entry.BRRES}.brres")) || entry.RootNode is ARCNode && new DirectoryInfo(dir).Parent != null && File.Exists( Path.Combine(new DirectoryInfo(dir).Parent?.FullName ?? "", "toy", "fig", $"{entry.BRRES}.brres"))) { _openBrresToolStripMenuItem.Enabled = true; _openBrresToolStripMenuItem.Visible = true; _openBrresToolStripSeparator.Visible = true; } else { _openBrresToolStripMenuItem.Enabled = false; _openBrresToolStripMenuItem.Visible = false; _openBrresToolStripSeparator.Visible = false; } DuplicateToolStripMenuItem.Enabled = w.Parent != null; ReplaceToolStripMenuItem.Enabled = w.Parent != null; DeleteToolStripMenuItem.Enabled = w.Parent != null; RestoreToolStripMenuItem.Enabled = w._resource.IsDirty || w._resource.IsBranch; MoveUpToolStripMenuItem.Enabled = w.PrevNode != null; MoveDownToolStripMenuItem.Enabled = w.NextNode != null; }
public void OpenBRRES() { TyDataListEntryNode entry = (TyDataListEntryNode)Resource; string dir = Resource.RootNode.DirectoryName; string file = Resource.RootNode is ARCNode && new DirectoryInfo(dir).Parent != null ? Path.Combine(new DirectoryInfo(dir).Parent?.FullName ?? "", "toy", "fig", $"{entry.BRRES}.brres") : Path.Combine(dir, $"{entry.BRRES}.brres"); if (File.Exists(file)) { Process.Start(new ProcessStartInfo { FileName = AppDomain.CurrentDomain.BaseDirectory + "\\BrawlCrate.exe", Arguments = "\"" + file + "\"" }); } }