AxibugEmuOnline/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/Configuration/SC3000.cs

87 lines
4.4 KiB
C#

using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace Essgee.Emulation.Configuration
{
//todo Unity [ElementPriority(1)]
public class SC3000 : IConfiguration
{
//todo Unity [DropDownControl("General", "TV Standard", typeof(TVStandard))]
//[JsonConverter(typeof(StringEnumConverter))]
public TVStandard TVStandard { get; set; }
//todo Unity [DropDownControl("General", "Reset Button", typeof(Keys), Keys.F11)]
//[JsonConverter(typeof(StringEnumConverter))]
public EssgeeMotionKey InputReset { get; set; }
//todo Unity [DropDownControl("General", "Change Input Mode", typeof(Keys), Keys.F11, Tooltip = "Selects which PC keyboard key is used to switch between SC-3000 keyboard and controller input.")]
//[JsonConverter(typeof(StringEnumConverter))]
public EssgeeMotionKey InputChangeMode { get; set; }
//todo Unity [DropDownControl("General", "Play Tape", typeof(Keys), Keys.F11, Tooltip = "Note that tape emulation is currently non-functional.")]
//[JsonConverter(typeof(StringEnumConverter))]
public EssgeeMotionKey InputPlayTape { get; set; }
//todo Unity [DropDownControl("Controller Port 1", "D-Pad Up", typeof(Keys), Keys.F11)]
//[JsonConverter(typeof(StringEnumConverter))]
public EssgeeMotionKey Joypad1Up { get; set; }
//todo Unity [DropDownControl("Controller Port 1", "D-Pad Down", typeof(Keys), Keys.F11)]
//[JsonConverter(typeof(StringEnumConverter))]
public EssgeeMotionKey Joypad1Down { get; set; }
//todo Unity [DropDownControl("Controller Port 1", "D-Pad Left", typeof(Keys), Keys.F11)]
//[JsonConverter(typeof(StringEnumConverter))]
public EssgeeMotionKey Joypad1Left { get; set; }
//todo Unity [DropDownControl("Controller Port 1", "D-Pad Right", typeof(Keys), Keys.F11)]
//[JsonConverter(typeof(StringEnumConverter))]
public EssgeeMotionKey Joypad1Right { get; set; }
//todo Unity [DropDownControl("Controller Port 1", "Button 1", typeof(Keys), Keys.F11)]
//[JsonConverter(typeof(StringEnumConverter))]
public EssgeeMotionKey Joypad1Button1 { get; set; }
//todo Unity [DropDownControl("Controller Port 1", "Button 2", typeof(Keys), Keys.F11)]
//[JsonConverter(typeof(StringEnumConverter))]
public EssgeeMotionKey Joypad1Button2 { get; set; }
//todo Unity [DropDownControl("Controller Port 2", "D-Pad Up", typeof(Keys), Keys.F11)]
//[JsonConverter(typeof(StringEnumConverter))]
public EssgeeMotionKey Joypad2Up { get; set; }
//todo Unity [DropDownControl("Controller Port 2", "D-Pad Down", typeof(Keys), Keys.F11)]
//[JsonConverter(typeof(StringEnumConverter))]
public EssgeeMotionKey Joypad2Down { get; set; }
//todo Unity [DropDownControl("Controller Port 2", "D-Pad Left", typeof(Keys), Keys.F11)]
//[JsonConverter(typeof(StringEnumConverter))]
public EssgeeMotionKey Joypad2Left { get; set; }
//todo Unity [DropDownControl("Controller Port 2", "D-Pad Right", typeof(Keys), Keys.F11)]
//[JsonConverter(typeof(StringEnumConverter))]
public EssgeeMotionKey Joypad2Right { get; set; }
//todo Unity [DropDownControl("Controller Port 2", "Button 1", typeof(Keys), Keys.F11)]
//[JsonConverter(typeof(StringEnumConverter))]
public EssgeeMotionKey Joypad2Button1 { get; set; }
//todo Unity [DropDownControl("Controller Port 2", "Button 2", typeof(Keys), Keys.F11)]
//[JsonConverter(typeof(StringEnumConverter))]
public EssgeeMotionKey Joypad2Button2 { get; set; }
public SC3000()
{
TVStandard = TVStandard.NTSC;
InputReset = EssgeeMotionKey.F12;
InputChangeMode = EssgeeMotionKey.F1;
InputPlayTape = EssgeeMotionKey.F2;
Joypad1Up = EssgeeMotionKey.Up;
Joypad1Down = EssgeeMotionKey.Down;
Joypad1Left = EssgeeMotionKey.Left;
Joypad1Right = EssgeeMotionKey.Right;
Joypad1Button1 = EssgeeMotionKey.A;
Joypad1Button2 = EssgeeMotionKey.S;
Joypad2Up = EssgeeMotionKey.NumPad8;
Joypad2Down = EssgeeMotionKey.NumPad2;
Joypad2Left = EssgeeMotionKey.NumPad4;
Joypad2Right = EssgeeMotionKey.NumPad6;
Joypad2Button1 = EssgeeMotionKey.NumPad1;
Joypad2Button2 = EssgeeMotionKey.NumPad3;
}
}
}