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
{
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;
}
}
@ -187,7 +187,7 @@ namespace BizHawk.Client.EmuHawk
Text = "Firmware",
},
new ToolStripSeparatorEx(),
new DebugVSystemMenuItem("GB")
new DebugVSystemMenuItem(VSystemID.Raw.GB, VSystemID.Raw.GBC)
{
DropDownItems =
{
@ -199,7 +199,7 @@ namespace BizHawk.Client.EmuHawk
},
},
},
new DebugVSystemMenuItem("GBA")
new DebugVSystemMenuItem(VSystemID.Raw.GBA)
{
DropDownItems =
{
@ -211,7 +211,7 @@ namespace BizHawk.Client.EmuHawk
},
},
},
new DebugVSystemMenuItem("N64")
new DebugVSystemMenuItem(VSystemID.Raw.N64)
{
DropDownItems =
{
@ -228,7 +228,7 @@ namespace BizHawk.Client.EmuHawk
var coreName = Emulator.Attributes().CoreName;
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
{
child.Enabled = groupEnabled && (child.RequiresCore is null || child.RequiresCore == coreName);