Essgee.Unity/Assets/Plugins/Essgee/Emulation/Configuration/GameGear.cs
2025-01-02 17:55:16 +08:00

62 lines
2.2 KiB
C#

using Essgee.Utilities;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace Essgee.Emulation.Configuration
{
//todo Unity [ElementPriority(3)]
public class GameGear : IConfiguration
{
//todo Unity [DropDownControl("General", "Region", typeof(Region))]
[JsonConverter(typeof(StringEnumConverter))]
public Region Region { get; set; }
//todo Unity [CheckBoxControl("General", "Use Bootstrap ROM")]
public bool UseBootstrap { get; set; }
[IsBootstrapRomPath]
//todo Unity [FileBrowserControl("General", "Bootstrap Path", "Game Gear Bootstrap ROM (*.gg;*.zip)|*.gg;*.zip")]
public string BootstrapRom { get; set; }
//todo Unity [DropDownControl("Controls", "D-Pad Up", typeof(Keys), Keys.F11)]
[JsonConverter(typeof(StringEnumConverter))]
public Keys ControlsUp { get; set; }
//todo Unity [DropDownControl("Controls", "D-Pad Down", typeof(Keys), Keys.F11)]
[JsonConverter(typeof(StringEnumConverter))]
public Keys ControlsDown { get; set; }
//todo Unity [DropDownControl("Controls", "D-Pad Left", typeof(Keys), Keys.F11)]
[JsonConverter(typeof(StringEnumConverter))]
public Keys ControlsLeft { get; set; }
//todo Unity [DropDownControl("Controls", "D-Pad Right", typeof(Keys), Keys.F11)]
[JsonConverter(typeof(StringEnumConverter))]
public Keys ControlsRight { get; set; }
//todo Unity [DropDownControl("Controls", "Button 1", typeof(Keys), Keys.F11)]
[JsonConverter(typeof(StringEnumConverter))]
public Keys ControlsButton1 { get; set; }
//todo Unity [DropDownControl("Controls", "Button 2", typeof(Keys), Keys.F11)]
[JsonConverter(typeof(StringEnumConverter))]
public Keys ControlsButton2 { get; set; }
//todo Unity [DropDownControl("Controls", "Start", typeof(Keys), Keys.F11)]
[JsonConverter(typeof(StringEnumConverter))]
public Keys ControlsStart { get; set; }
public bool AllowMemoryControl { get; set; }
public GameGear()
{
BootstrapRom = string.Empty;
Region = Region.Export;
ControlsUp = Keys.Up;
ControlsDown = Keys.Down;
ControlsLeft = Keys.Left;
ControlsRight = Keys.Right;
ControlsButton1 = Keys.A;
ControlsButton2 = Keys.S;
ControlsStart = Keys.Return;
AllowMemoryControl = true;
}
}
}