using System.Collections.Generic; using System.Drawing; using BizHawk.Emulation.Common; namespace BizHawk.Client.EmuHawk { [Schema("SGB")] public class SGBSchema : IVirtualPadSchema { public IEnumerable GetPadSchemas(IEmulator core) { yield return StandardController(1); yield return StandardController(2); yield return StandardController(3); yield return StandardController(4); } private static PadSchema StandardController(int controllerNum) { return new PadSchema { IsConsole = false, DefaultSize = new Size(174, 79), Buttons = new[] { new PadSchema.ButtonSchema { Name = $"P{controllerNum} Up", DisplayName = "", Icon = Properties.Resources.BlueUp, Location = new Point(14, 12), Type = PadSchema.PadInputType.Boolean }, new PadSchema.ButtonSchema { Name = $"P{controllerNum} Down", DisplayName = "", Icon = Properties.Resources.BlueDown, Location = new Point(14, 56), Type = PadSchema.PadInputType.Boolean }, new PadSchema.ButtonSchema { Name = $"P{controllerNum} Left", DisplayName = "", Icon = Properties.Resources.Back, Location = new Point(2, 34), Type = PadSchema.PadInputType.Boolean }, new PadSchema.ButtonSchema { Name = $"P{controllerNum} Right", DisplayName = "", Icon = Properties.Resources.Forward, Location = new Point(24, 34), Type = PadSchema.PadInputType.Boolean }, new PadSchema.ButtonSchema { Name = $"P{controllerNum} B", DisplayName = "B", Location = new Point(122, 34), Type = PadSchema.PadInputType.Boolean }, new PadSchema.ButtonSchema { Name = $"P{controllerNum} A", DisplayName = "A", Location = new Point(146, 34), Type = PadSchema.PadInputType.Boolean }, new PadSchema.ButtonSchema { Name = $"P{controllerNum} Select", DisplayName = "s", Location = new Point(52, 34), Type = PadSchema.PadInputType.Boolean }, new PadSchema.ButtonSchema { Name = $"P{controllerNum} Start", DisplayName = "S", Location = new Point(74, 34), Type = PadSchema.PadInputType.Boolean } } }; } } }