diff --git a/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj b/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj index bb278cc699..259a5d6f7e 100644 --- a/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj +++ b/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj @@ -899,6 +899,7 @@ VirtualPadTargetScreen.cs + diff --git a/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadTool.cs b/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadTool.cs index 9ccd3097d8..fb01bebc5c 100644 --- a/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadTool.cs +++ b/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadTool.cs @@ -83,21 +83,7 @@ namespace BizHawk.Client.EmuHawk switch(Global.Emulator.SystemId) { case "NES": - ControllerBox.Controls.Add(new VirtualPad( - NesSchema.StandardController(1)) - { - Location = new Point(15, 15) - }); - //ControllerBox.Controls.Add(new VirtualPad( - // NesSchema.StandardController(2)) - // { - // Location = new Point(200, 15) - // }); - ControllerBox.Controls.Add(new VirtualPad( - NesSchema.Zapper(2)) - { - Location = new Point(200, 15) - }); + ControllerBox.Controls.AddRange(new NesSchema().GetPads().ToArray()); break; case "N64": ControllerBox.Controls.Add(new VirtualPad( diff --git a/BizHawk.Client.EmuHawk/tools/VirtualPads/controls/VirtualPadTargetScreen.cs b/BizHawk.Client.EmuHawk/tools/VirtualPads/controls/VirtualPadTargetScreen.cs index befd8a11d5..90f9bdd6c8 100644 --- a/BizHawk.Client.EmuHawk/tools/VirtualPads/controls/VirtualPadTargetScreen.cs +++ b/BizHawk.Client.EmuHawk/tools/VirtualPads/controls/VirtualPadTargetScreen.cs @@ -96,8 +96,7 @@ namespace BizHawk.Client.EmuHawk public void Clear() { - X = 0; - Y = 0; + // Nothing to do } private void UpdatePanelFromNumeric() diff --git a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/IVirtualPadSchema.cs b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/IVirtualPadSchema.cs new file mode 100644 index 0000000000..2777927bf2 --- /dev/null +++ b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/IVirtualPadSchema.cs @@ -0,0 +1,9 @@ +using System.Collections.Generic; + +namespace BizHawk.Client.EmuHawk +{ + public interface IVirtualPadSchema + { + IEnumerable GetPads(); + } +} diff --git a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/NesSchema.cs b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/NesSchema.cs index 3ae39d47d9..c143c0ca66 100644 --- a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/NesSchema.cs +++ b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/NesSchema.cs @@ -1,10 +1,24 @@ -using System.Drawing; +using System.Collections.Generic; +using System.Drawing; namespace BizHawk.Client.EmuHawk { - public static class NesSchema + public class NesSchema : IVirtualPadSchema { - public static PadSchema StandardController(int controller) + public IEnumerable GetPads() + { + yield return new VirtualPad(StandardController(1)) + { + Location = new Point(15, 15) + }; + + yield return new VirtualPad(Zapper(2)) + { + Location = new Point(200, 15) + }; + } + + private static PadSchema StandardController(int controller) { return new PadSchema { @@ -76,8 +90,7 @@ namespace BizHawk.Client.EmuHawk }; } - // TODO - public static PadSchema Zapper(int controller) + private static PadSchema Zapper(int controller) { return new PadSchema { @@ -109,13 +122,13 @@ namespace BizHawk.Client.EmuHawk } // TODO - public static PadSchema ArkanoidPaddle() + private static PadSchema ArkanoidPaddle() { return new PadSchema(); } // TODO - public static PadSchema PowerPad() + private static PadSchema PowerPad() { return new PadSchema(); }