Minor refactor to debug menu

This commit is contained in:
YoshiRulz 2022-05-03 18:15:45 +10:00
parent 5a913ac2a4
commit c490d8baa2
No known key found for this signature in database
GPG Key ID: C4DE31C245353FB7
1 changed files with 7 additions and 7 deletions

View File

@ -36,11 +36,11 @@ namespace BizHawk.Client.EmuHawk
private sealed class DebugVSystemMenuItem : ToolStripMenuItemEx private sealed class DebugVSystemMenuItem : ToolStripMenuItemEx
{ {
public readonly IReadOnlyCollection<string> ExtraSysIDs; public readonly IReadOnlyCollection<string> SysIDs;
public DebugVSystemMenuItem(string labelText, IReadOnlyCollection<string>? extraSysIDs = null) public DebugVSystemMenuItem(string labelText, params string[] extraSysIDs)
{ {
ExtraSysIDs = extraSysIDs ?? Array.Empty<string>(); SysIDs = new[] { labelText }.Concat(extraSysIDs).ToHashSet();
Text = labelText; Text = labelText;
} }
} }
@ -187,7 +187,7 @@ namespace BizHawk.Client.EmuHawk
Text = "Firmware", Text = "Firmware",
}, },
new ToolStripSeparatorEx(), new ToolStripSeparatorEx(),
new DebugVSystemMenuItem("GB") new DebugVSystemMenuItem(VSystemID.Raw.GB, VSystemID.Raw.GBC)
{ {
DropDownItems = DropDownItems =
{ {
@ -199,7 +199,7 @@ namespace BizHawk.Client.EmuHawk
}, },
}, },
}, },
new DebugVSystemMenuItem("GBA") new DebugVSystemMenuItem(VSystemID.Raw.GBA)
{ {
DropDownItems = DropDownItems =
{ {
@ -211,7 +211,7 @@ namespace BizHawk.Client.EmuHawk
}, },
}, },
}, },
new DebugVSystemMenuItem("N64") new DebugVSystemMenuItem(VSystemID.Raw.N64)
{ {
DropDownItems = DropDownItems =
{ {
@ -228,7 +228,7 @@ namespace BizHawk.Client.EmuHawk
var coreName = Emulator.Attributes().CoreName; var coreName = Emulator.Attributes().CoreName;
foreach (var item in ((ToolStripMenuItemEx) ddoSender).DropDownItems.OfType<DebugVSystemMenuItem>()) foreach (var item in ((ToolStripMenuItemEx) ddoSender).DropDownItems.OfType<DebugVSystemMenuItem>())
{ {
var groupEnabled = item.Text == sysID || item.ExtraSysIDs.Contains(sysID); var groupEnabled = item.SysIDs.Contains(sysID);
foreach (var child in item.DropDownItems.Cast<DebugVSystemChildItem>().Where(static child => child.RequiresLoadedRom)) // RequiresLoadedRom == false => leave Enabled as default true foreach (var child in item.DropDownItems.Cast<DebugVSystemChildItem>().Where(static child => child.RequiresLoadedRom)) // RequiresLoadedRom == false => leave Enabled as default true
{ {
child.Enabled = groupEnabled && (child.RequiresCore is null || child.RequiresCore == coreName); child.Enabled = groupEnabled && (child.RequiresCore is null || child.RequiresCore == coreName);