统一所有平台设置到Input管理

This commit is contained in:
sin365 2025-03-06 22:11:24 +08:00
parent 493a5de19f
commit 41b0562f7c
24 changed files with 893 additions and 162 deletions

View File

@ -0,0 +1,85 @@
using AxibugEmuOnline.Client.Manager;
using UnityEngine;
namespace Assets.Script.AppMain.AxiInput.Settings
{
public class ColecoVisionMultiKeysSetting : MultiKeysSettingBase
{
public ColecoVisionMultiKeysSetting()
{
controllers = new ColecoVisionSingleKeysSeting[4];
for (int i = 0; i < controllers.Length; i++)
controllers[i] = new ColecoVisionSingleKeysSeting();
}
public override void LoadDefaultSetting()
{
ClearAll();
#if UNITY_PSP2 && !UNITY_EDITOR
//PSV 摇杆
controllers[0].SetKey((ulong)EssgeeSingleKey.POTION_1, AxiInputEx.ByKeyCode(PSVitaKey.Start));
controllers[0].SetKey((ulong)EssgeeSingleKey.POTION_2, AxiInputEx.ByKeyCode(PSVitaKey.Select));
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByKeyCode(PSVitaKey.Up));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByKeyCode(PSVitaKey.Down));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByKeyCode(PSVitaKey.Left));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByKeyCode(PSVitaKey.Right));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByKeyCode(PSVitaKey.Cross));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByKeyCode(PSVitaKey.Circle));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_3, AxiInputEx.ByKeyCode(PSVitaKey.Block));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_4, AxiInputEx.ByKeyCode(PSVitaKey.Triangle));
//PSV 摇杆
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByAxis(AxiInputAxisType.UP));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByAxis(AxiInputAxisType.DOWN));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByAxis(AxiInputAxisType.LEFT));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByAxis(AxiInputAxisType.RIGHT));
controllers[0].ColletAllKey();
return;
#endif
#region P1
//P1 键盘
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_1, AxiInputEx.ByKeyCode(KeyCode.Return));
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_2, AxiInputEx.ByKeyCode(KeyCode.RightShift));
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByKeyCode(KeyCode.W));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByKeyCode(KeyCode.S));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByKeyCode(KeyCode.A));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByKeyCode(KeyCode.D));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByKeyCode(KeyCode.J));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByKeyCode(KeyCode.K));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_3, AxiInputEx.ByKeyCode(KeyCode.U));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_4, AxiInputEx.ByKeyCode(KeyCode.I));
//P1 UGUI
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_1, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.POTION_1));
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_2, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.POTION_2));
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.UP));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.DOWN));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.LEFT));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.RIGHT));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_1));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_2));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_3, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_3));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_4, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_4));
//P2 键盘
controllers[1].SetKey((ulong)EssgeeSingleKey.OPTION_1, AxiInputEx.ByKeyCode(KeyCode.Keypad0));
controllers[1].SetKey((ulong)EssgeeSingleKey.OPTION_2, AxiInputEx.ByKeyCode(KeyCode.Delete));
controllers[1].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByKeyCode(KeyCode.UpArrow));
controllers[1].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByKeyCode(KeyCode.DownArrow));
controllers[1].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByKeyCode(KeyCode.LeftArrow));
controllers[1].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByKeyCode(KeyCode.RightArrow));
controllers[1].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByKeyCode(KeyCode.Keypad1));
controllers[1].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByKeyCode(KeyCode.Keypad2));
controllers[1].SetKey((ulong)EssgeeSingleKey.BTN_3, AxiInputEx.ByKeyCode(KeyCode.Keypad3));
controllers[1].SetKey((ulong)EssgeeSingleKey.BTN_4, AxiInputEx.ByKeyCode(KeyCode.Keypad4));
controllers[0].ColletAllKey();
#endregion
}
}
public class ColecoVisionSingleKeysSeting : SingleKeySettingBase
{
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 6febcf958b506d74aadb5e7ea35f1a9d

View File

@ -0,0 +1,68 @@
using AxibugEmuOnline.Client.Manager;
using UnityEngine;
namespace Assets.Script.AppMain.AxiInput.Settings
{
public class GameBoyColorMultiKeysSetting : MultiKeysSettingBase
{
public GameBoyColorMultiKeysSetting()
{
controllers = new GameBoyColorSingleKeysSeting[4];
for (int i = 0; i < controllers.Length; i++)
controllers[i] = new GameBoyColorSingleKeysSeting();
}
public override void LoadDefaultSetting()
{
ClearAll();
#if UNITY_PSP2 && !UNITY_EDITOR
//PSV 摇杆
controllers[0].SetKey((ulong)EssgeeSingleKey.POTION_1, AxiInputEx.ByKeyCode(PSVitaKey.Start));
controllers[0].SetKey((ulong)EssgeeSingleKey.POTION_2, AxiInputEx.ByKeyCode(PSVitaKey.Select));
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByKeyCode(PSVitaKey.Up));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByKeyCode(PSVitaKey.Down));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByKeyCode(PSVitaKey.Left));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByKeyCode(PSVitaKey.Right));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByKeyCode(PSVitaKey.Cross));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByKeyCode(PSVitaKey.Circle));
//PSV 摇杆
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByAxis(AxiInputAxisType.UP));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByAxis(AxiInputAxisType.DOWN));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByAxis(AxiInputAxisType.LEFT));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByAxis(AxiInputAxisType.RIGHT));
controllers[0].ColletAllKey();
return;
#endif
#region P1
//P1 键盘
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_1, AxiInputEx.ByKeyCode(KeyCode.Return));
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_2, AxiInputEx.ByKeyCode(KeyCode.RightShift));
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByKeyCode(KeyCode.W));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByKeyCode(KeyCode.S));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByKeyCode(KeyCode.A));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByKeyCode(KeyCode.D));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByKeyCode(KeyCode.J));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByKeyCode(KeyCode.K));
//P1 UGUI
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_1, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.POTION_1));
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_2, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.POTION_2));
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.UP));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.DOWN));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.LEFT));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.RIGHT));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_1));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_2));
controllers[0].ColletAllKey();
#endregion
}
}
public class GameBoyColorSingleKeysSeting : SingleKeySettingBase
{
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 98e9f2994f6a07c4fb69339055653348

View File

@ -0,0 +1,68 @@
using AxibugEmuOnline.Client.Manager;
using UnityEngine;
namespace Assets.Script.AppMain.AxiInput.Settings
{
public class GameBoyMultiKeysSetting : MultiKeysSettingBase
{
public GameBoyMultiKeysSetting()
{
controllers = new GameBoySingleKeysSeting[4];
for (int i = 0; i < controllers.Length; i++)
controllers[i] = new GameBoySingleKeysSeting();
}
public override void LoadDefaultSetting()
{
ClearAll();
#if UNITY_PSP2 && !UNITY_EDITOR
//PSV 摇杆
controllers[0].SetKey((ulong)EssgeeSingleKey.POTION_1, AxiInputEx.ByKeyCode(PSVitaKey.Start));
controllers[0].SetKey((ulong)EssgeeSingleKey.POTION_2, AxiInputEx.ByKeyCode(PSVitaKey.Select));
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByKeyCode(PSVitaKey.Up));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByKeyCode(PSVitaKey.Down));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByKeyCode(PSVitaKey.Left));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByKeyCode(PSVitaKey.Right));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByKeyCode(PSVitaKey.Cross));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByKeyCode(PSVitaKey.Circle));
//PSV 摇杆
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByAxis(AxiInputAxisType.UP));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByAxis(AxiInputAxisType.DOWN));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByAxis(AxiInputAxisType.LEFT));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByAxis(AxiInputAxisType.RIGHT));
controllers[0].ColletAllKey();
return;
#endif
#region P1
//P1 键盘
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_1, AxiInputEx.ByKeyCode(KeyCode.Return));
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_2, AxiInputEx.ByKeyCode(KeyCode.RightShift));
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByKeyCode(KeyCode.W));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByKeyCode(KeyCode.S));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByKeyCode(KeyCode.A));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByKeyCode(KeyCode.D));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByKeyCode(KeyCode.J));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByKeyCode(KeyCode.K));
//P1 UGUI
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_1, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.POTION_1));
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_2, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.POTION_2));
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.UP));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.DOWN));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.LEFT));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.RIGHT));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_1));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_2));
controllers[0].ColletAllKey();
#endregion
}
}
public class GameBoySingleKeysSeting : SingleKeySettingBase
{
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 42485ea83f647924e9e8a8db04c8b351

View File

@ -0,0 +1,85 @@
using AxibugEmuOnline.Client.Manager;
using UnityEngine;
namespace Assets.Script.AppMain.AxiInput.Settings
{
public class GameGearMultiKeysSetting : MultiKeysSettingBase
{
public GameGearMultiKeysSetting()
{
controllers = new GameGearSingleKeysSeting[4];
for (int i = 0; i < controllers.Length; i++)
controllers[i] = new GameGearSingleKeysSeting();
}
public override void LoadDefaultSetting()
{
ClearAll();
#if UNITY_PSP2 && !UNITY_EDITOR
//PSV 摇杆
controllers[0].SetKey((ulong)EssgeeSingleKey.POTION_1, AxiInputEx.ByKeyCode(PSVitaKey.Start));
controllers[0].SetKey((ulong)EssgeeSingleKey.POTION_2, AxiInputEx.ByKeyCode(PSVitaKey.Select));
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByKeyCode(PSVitaKey.Up));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByKeyCode(PSVitaKey.Down));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByKeyCode(PSVitaKey.Left));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByKeyCode(PSVitaKey.Right));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByKeyCode(PSVitaKey.Cross));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByKeyCode(PSVitaKey.Circle));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_3, AxiInputEx.ByKeyCode(PSVitaKey.Block));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_4, AxiInputEx.ByKeyCode(PSVitaKey.Triangle));
//PSV 摇杆
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByAxis(AxiInputAxisType.UP));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByAxis(AxiInputAxisType.DOWN));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByAxis(AxiInputAxisType.LEFT));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByAxis(AxiInputAxisType.RIGHT));
controllers[0].ColletAllKey();
return;
#endif
#region P1
//P1 键盘
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_1, AxiInputEx.ByKeyCode(KeyCode.Return));
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_2, AxiInputEx.ByKeyCode(KeyCode.RightShift));
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByKeyCode(KeyCode.W));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByKeyCode(KeyCode.S));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByKeyCode(KeyCode.A));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByKeyCode(KeyCode.D));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByKeyCode(KeyCode.J));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByKeyCode(KeyCode.K));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_3, AxiInputEx.ByKeyCode(KeyCode.U));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_4, AxiInputEx.ByKeyCode(KeyCode.I));
//P1 UGUI
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_1, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.POTION_1));
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_2, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.POTION_2));
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.UP));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.DOWN));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.LEFT));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.RIGHT));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_1));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_2));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_3, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_3));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_4, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_4));
//P2 键盘
controllers[1].SetKey((ulong)EssgeeSingleKey.OPTION_1, AxiInputEx.ByKeyCode(KeyCode.Keypad0));
controllers[1].SetKey((ulong)EssgeeSingleKey.OPTION_2, AxiInputEx.ByKeyCode(KeyCode.Delete));
controllers[1].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByKeyCode(KeyCode.UpArrow));
controllers[1].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByKeyCode(KeyCode.DownArrow));
controllers[1].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByKeyCode(KeyCode.LeftArrow));
controllers[1].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByKeyCode(KeyCode.RightArrow));
controllers[1].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByKeyCode(KeyCode.Keypad1));
controllers[1].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByKeyCode(KeyCode.Keypad2));
controllers[1].SetKey((ulong)EssgeeSingleKey.BTN_3, AxiInputEx.ByKeyCode(KeyCode.Keypad3));
controllers[1].SetKey((ulong)EssgeeSingleKey.BTN_4, AxiInputEx.ByKeyCode(KeyCode.Keypad4));
controllers[0].ColletAllKey();
#endregion
}
}
public class GameGearSingleKeysSeting : SingleKeySettingBase
{
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 1f1d4c32b29ac4740945cb36c4442f70

View File

@ -0,0 +1,102 @@
using AxibugEmuOnline.Client.Manager;
using System;
using UnityEngine;
namespace Assets.Script.AppMain.AxiInput.Settings
{
[Flags]
public enum EssgeeSingleKey : ushort
{
NONE = 0,
UP = 1,
DOWN = 1 << 1,
LEFT = 1 << 2,
RIGHT = 1 << 3,
BTN_1 = 1 << 4,
BTN_2 = 1 << 5,
BTN_3 = 1 << 6,
BTN_4 = 1 << 7,
OPTION_1 = 1 << 8,
OPTION_2 = 1 << 9,
}
public class MasterSystemMultiKeysSetting : MultiKeysSettingBase
{
public MasterSystemMultiKeysSetting()
{
controllers = new MasterSystemSingleKeysSeting[4];
for (int i = 0; i < controllers.Length; i++)
controllers[i] = new MasterSystemSingleKeysSeting();
}
public override void LoadDefaultSetting()
{
ClearAll();
#if UNITY_PSP2 && !UNITY_EDITOR
//PSV 摇杆
controllers[0].SetKey((ulong)EssgeeSingleKey.POTION_1, AxiInputEx.ByKeyCode(PSVitaKey.Start));
controllers[0].SetKey((ulong)EssgeeSingleKey.POTION_2, AxiInputEx.ByKeyCode(PSVitaKey.Select));
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByKeyCode(PSVitaKey.Up));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByKeyCode(PSVitaKey.Down));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByKeyCode(PSVitaKey.Left));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByKeyCode(PSVitaKey.Right));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByKeyCode(PSVitaKey.Cross));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByKeyCode(PSVitaKey.Circle));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_3, AxiInputEx.ByKeyCode(PSVitaKey.Block));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_4, AxiInputEx.ByKeyCode(PSVitaKey.Triangle));
//PSV 摇杆
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByAxis(AxiInputAxisType.UP));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByAxis(AxiInputAxisType.DOWN));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByAxis(AxiInputAxisType.LEFT));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByAxis(AxiInputAxisType.RIGHT));
controllers[0].ColletAllKey();
return;
#endif
#region P1
//P1 键盘
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_1, AxiInputEx.ByKeyCode(KeyCode.Return));
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_2, AxiInputEx.ByKeyCode(KeyCode.RightShift));
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByKeyCode(KeyCode.W));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByKeyCode(KeyCode.S));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByKeyCode(KeyCode.A));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByKeyCode(KeyCode.D));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByKeyCode(KeyCode.J));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByKeyCode(KeyCode.K));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_3, AxiInputEx.ByKeyCode(KeyCode.U));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_4, AxiInputEx.ByKeyCode(KeyCode.I));
//P1 UGUI
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_1, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.POTION_1));
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_2, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.POTION_2));
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.UP));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.DOWN));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.LEFT));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.RIGHT));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_1));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_2));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_3, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_3));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_4, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_4));
//P2 键盘
controllers[1].SetKey((ulong)EssgeeSingleKey.OPTION_1, AxiInputEx.ByKeyCode(KeyCode.Keypad0));
controllers[1].SetKey((ulong)EssgeeSingleKey.OPTION_2, AxiInputEx.ByKeyCode(KeyCode.Delete));
controllers[1].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByKeyCode(KeyCode.UpArrow));
controllers[1].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByKeyCode(KeyCode.DownArrow));
controllers[1].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByKeyCode(KeyCode.LeftArrow));
controllers[1].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByKeyCode(KeyCode.RightArrow));
controllers[1].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByKeyCode(KeyCode.Keypad1));
controllers[1].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByKeyCode(KeyCode.Keypad2));
controllers[1].SetKey((ulong)EssgeeSingleKey.BTN_3, AxiInputEx.ByKeyCode(KeyCode.Keypad3));
controllers[1].SetKey((ulong)EssgeeSingleKey.BTN_4, AxiInputEx.ByKeyCode(KeyCode.Keypad4));
controllers[0].ColletAllKey();
#endregion
}
}
public class MasterSystemSingleKeysSeting : SingleKeySettingBase
{
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: e3d5584a82b098141bf0c415938daf84

View File

@ -0,0 +1,79 @@
using AxibugEmuOnline.Client.Manager;
using UnityEngine;
using VirtualNes.Core;
namespace Assets.Script.AppMain.AxiInput.Settings
{
public class NESMultiKeysSetting : MultiKeysSettingBase
{
public NESMultiKeysSetting()
{
controllers = new NESSingleKeysSeting[4];
for (int i = 0; i < controllers.Length; i++)
controllers[i] = new NESSingleKeysSeting();
}
public override void LoadDefaultSetting()
{
ClearAll();
#if UNITY_PSP2 && !UNITY_EDITOR
//PSV 摇杆
controllers[0].SetKey((ulong)EnumButtonType.START, AxiInputEx.ByKeyCode(PSVitaKey.Start));
controllers[0].SetKey((ulong)EnumButtonType.SELECT, AxiInputEx.ByKeyCode(PSVitaKey.Select));
controllers[0].SetKey((ulong)EnumButtonType.UP, AxiInputEx.ByKeyCode(PSVitaKey.Up));
controllers[0].SetKey((ulong)EnumButtonType.DOWN, AxiInputEx.ByKeyCode(PSVitaKey.Down));
controllers[0].SetKey((ulong)EnumButtonType.LEFT, AxiInputEx.ByKeyCode(PSVitaKey.Left));
controllers[0].SetKey((ulong)EnumButtonType.RIGHT, AxiInputEx.ByKeyCode(PSVitaKey.Right));
controllers[0].SetKey((ulong)EnumButtonType.A, AxiInputEx.ByKeyCode(PSVitaKey.Cross));
controllers[0].SetKey((ulong)EnumButtonType.B, AxiInputEx.ByKeyCode(PSVitaKey.Circle));
controllers[0].SetKey((ulong)EnumButtonType.MIC, AxiInputEx.ByKeyCode(PSVitaKey.Block));
//PSV 摇杆
controllers[0].SetKey((ulong)EnumButtonType.UP, AxiInputEx.ByAxis(AxiInputAxisType.UP));
controllers[0].SetKey((ulong)EnumButtonType.DOWN, AxiInputEx.ByAxis(AxiInputAxisType.DOWN));
controllers[0].SetKey((ulong)EnumButtonType.LEFT, AxiInputEx.ByAxis(AxiInputAxisType.LEFT));
controllers[0].SetKey((ulong)EnumButtonType.RIGHT, AxiInputEx.ByAxis(AxiInputAxisType.RIGHT));
controllers[0].ColletAllKey();
return;
#endif
#region P1
//P1 键盘
controllers[0].SetKey((ulong)EnumButtonType.START, AxiInputEx.ByKeyCode(KeyCode.Return));
controllers[0].SetKey((ulong)EnumButtonType.SELECT, AxiInputEx.ByKeyCode(KeyCode.RightShift));
controllers[0].SetKey((ulong)EnumButtonType.UP, AxiInputEx.ByKeyCode(KeyCode.W));
controllers[0].SetKey((ulong)EnumButtonType.DOWN, AxiInputEx.ByKeyCode(KeyCode.S));
controllers[0].SetKey((ulong)EnumButtonType.LEFT, AxiInputEx.ByKeyCode(KeyCode.A));
controllers[0].SetKey((ulong)EnumButtonType.RIGHT, AxiInputEx.ByKeyCode(KeyCode.D));
controllers[0].SetKey((ulong)EnumButtonType.A, AxiInputEx.ByKeyCode(KeyCode.K));
controllers[0].SetKey((ulong)EnumButtonType.B, AxiInputEx.ByKeyCode(KeyCode.J));
controllers[0].SetKey((ulong)EnumButtonType.MIC, AxiInputEx.ByKeyCode(KeyCode.U));
//P1 UGUI
controllers[0].SetKey((ulong)EnumButtonType.START, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.POTION_1));
controllers[0].SetKey((ulong)EnumButtonType.SELECT, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.POTION_2));
controllers[0].SetKey((ulong)EnumButtonType.UP, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.UP));
controllers[0].SetKey((ulong)EnumButtonType.DOWN, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.DOWN));
controllers[0].SetKey((ulong)EnumButtonType.LEFT, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.LEFT));
controllers[0].SetKey((ulong)EnumButtonType.RIGHT, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.RIGHT));
controllers[0].SetKey((ulong)EnumButtonType.A, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_2));
controllers[0].SetKey((ulong)EnumButtonType.B, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_1));
controllers[0].SetKey((ulong)EnumButtonType.MIC, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_3));
//P2 键盘
controllers[1].SetKey((ulong)EnumButtonType.START, AxiInputEx.ByKeyCode(KeyCode.Keypad0));
controllers[1].SetKey((ulong)EnumButtonType.SELECT, AxiInputEx.ByKeyCode(KeyCode.Delete));
controllers[1].SetKey((ulong)EnumButtonType.UP, AxiInputEx.ByKeyCode(KeyCode.UpArrow));
controllers[1].SetKey((ulong)EnumButtonType.DOWN, AxiInputEx.ByKeyCode(KeyCode.DownArrow));
controllers[1].SetKey((ulong)EnumButtonType.LEFT, AxiInputEx.ByKeyCode(KeyCode.LeftArrow));
controllers[1].SetKey((ulong)EnumButtonType.RIGHT, AxiInputEx.ByKeyCode(KeyCode.RightArrow));
controllers[1].SetKey((ulong)EnumButtonType.A, AxiInputEx.ByKeyCode(KeyCode.Keypad2));
controllers[1].SetKey((ulong)EnumButtonType.B, AxiInputEx.ByKeyCode(KeyCode.Keypad1));
controllers[1].SetKey((ulong)EnumButtonType.MIC, AxiInputEx.ByKeyCode(KeyCode.Keypad4));
controllers[0].ColletAllKey();
#endregion
}
}
public class NESSingleKeysSeting : SingleKeySettingBase
{
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 6556ff70f8cab73438e5fb7755808a3c

View File

@ -0,0 +1,85 @@
using AxibugEmuOnline.Client.Manager;
using UnityEngine;
namespace Assets.Script.AppMain.AxiInput.Settings
{
public class SC3000MultiKeysSetting : MultiKeysSettingBase
{
public SC3000MultiKeysSetting()
{
controllers = new SC3000SingleKeysSeting[4];
for (int i = 0; i < controllers.Length; i++)
controllers[i] = new SC3000SingleKeysSeting();
}
public override void LoadDefaultSetting()
{
ClearAll();
#if UNITY_PSP2 && !UNITY_EDITOR
//PSV 摇杆
controllers[0].SetKey((ulong)EssgeeSingleKey.POTION_1, AxiInputEx.ByKeyCode(PSVitaKey.Start));
controllers[0].SetKey((ulong)EssgeeSingleKey.POTION_2, AxiInputEx.ByKeyCode(PSVitaKey.Select));
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByKeyCode(PSVitaKey.Up));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByKeyCode(PSVitaKey.Down));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByKeyCode(PSVitaKey.Left));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByKeyCode(PSVitaKey.Right));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByKeyCode(PSVitaKey.Cross));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByKeyCode(PSVitaKey.Circle));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_3, AxiInputEx.ByKeyCode(PSVitaKey.Block));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_4, AxiInputEx.ByKeyCode(PSVitaKey.Triangle));
//PSV 摇杆
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByAxis(AxiInputAxisType.UP));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByAxis(AxiInputAxisType.DOWN));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByAxis(AxiInputAxisType.LEFT));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByAxis(AxiInputAxisType.RIGHT));
controllers[0].ColletAllKey();
return;
#endif
#region P1
//P1 键盘
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_1, AxiInputEx.ByKeyCode(KeyCode.Return));
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_2, AxiInputEx.ByKeyCode(KeyCode.RightShift));
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByKeyCode(KeyCode.W));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByKeyCode(KeyCode.S));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByKeyCode(KeyCode.A));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByKeyCode(KeyCode.D));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByKeyCode(KeyCode.J));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByKeyCode(KeyCode.K));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_3, AxiInputEx.ByKeyCode(KeyCode.U));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_4, AxiInputEx.ByKeyCode(KeyCode.I));
//P1 UGUI
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_1, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.POTION_1));
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_2, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.POTION_2));
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.UP));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.DOWN));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.LEFT));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.RIGHT));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_1));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_2));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_3, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_3));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_4, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_4));
//P2 键盘
controllers[1].SetKey((ulong)EssgeeSingleKey.OPTION_1, AxiInputEx.ByKeyCode(KeyCode.Keypad0));
controllers[1].SetKey((ulong)EssgeeSingleKey.OPTION_2, AxiInputEx.ByKeyCode(KeyCode.Delete));
controllers[1].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByKeyCode(KeyCode.UpArrow));
controllers[1].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByKeyCode(KeyCode.DownArrow));
controllers[1].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByKeyCode(KeyCode.LeftArrow));
controllers[1].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByKeyCode(KeyCode.RightArrow));
controllers[1].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByKeyCode(KeyCode.Keypad1));
controllers[1].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByKeyCode(KeyCode.Keypad2));
controllers[1].SetKey((ulong)EssgeeSingleKey.BTN_3, AxiInputEx.ByKeyCode(KeyCode.Keypad3));
controllers[1].SetKey((ulong)EssgeeSingleKey.BTN_4, AxiInputEx.ByKeyCode(KeyCode.Keypad4));
controllers[0].ColletAllKey();
#endregion
}
}
public class SC3000SingleKeysSeting : SingleKeySettingBase
{
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: bee2b8a3f5efaec47b9b363eeaa03160

View File

@ -0,0 +1,85 @@
using AxibugEmuOnline.Client.Manager;
using UnityEngine;
namespace Assets.Script.AppMain.AxiInput.Settings
{
public class SG1000MultiKeysSetting : MultiKeysSettingBase
{
public SG1000MultiKeysSetting()
{
controllers = new SG1000SingleKeysSeting[4];
for (int i = 0; i < controllers.Length; i++)
controllers[i] = new SG1000SingleKeysSeting();
}
public override void LoadDefaultSetting()
{
ClearAll();
#if UNITY_PSP2 && !UNITY_EDITOR
//PSV 摇杆
controllers[0].SetKey((ulong)EssgeeSingleKey.POTION_1, AxiInputEx.ByKeyCode(PSVitaKey.Start));
controllers[0].SetKey((ulong)EssgeeSingleKey.POTION_2, AxiInputEx.ByKeyCode(PSVitaKey.Select));
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByKeyCode(PSVitaKey.Up));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByKeyCode(PSVitaKey.Down));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByKeyCode(PSVitaKey.Left));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByKeyCode(PSVitaKey.Right));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByKeyCode(PSVitaKey.Cross));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByKeyCode(PSVitaKey.Circle));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_3, AxiInputEx.ByKeyCode(PSVitaKey.Block));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_4, AxiInputEx.ByKeyCode(PSVitaKey.Triangle));
//PSV 摇杆
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByAxis(AxiInputAxisType.UP));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByAxis(AxiInputAxisType.DOWN));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByAxis(AxiInputAxisType.LEFT));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByAxis(AxiInputAxisType.RIGHT));
controllers[0].ColletAllKey();
return;
#endif
#region P1
//P1 键盘
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_1, AxiInputEx.ByKeyCode(KeyCode.Return));
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_2, AxiInputEx.ByKeyCode(KeyCode.RightShift));
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByKeyCode(KeyCode.W));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByKeyCode(KeyCode.S));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByKeyCode(KeyCode.A));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByKeyCode(KeyCode.D));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByKeyCode(KeyCode.J));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByKeyCode(KeyCode.K));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_3, AxiInputEx.ByKeyCode(KeyCode.U));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_4, AxiInputEx.ByKeyCode(KeyCode.I));
//P1 UGUI
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_1, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.POTION_1));
controllers[0].SetKey((ulong)EssgeeSingleKey.OPTION_2, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.POTION_2));
controllers[0].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.UP));
controllers[0].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.DOWN));
controllers[0].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.LEFT));
controllers[0].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.RIGHT));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_1));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_2));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_3, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_3));
controllers[0].SetKey((ulong)EssgeeSingleKey.BTN_4, AxiInputEx.ByUGUIBtn(AxiInputUGuiBtnType.BTN_4));
//P2 键盘
controllers[1].SetKey((ulong)EssgeeSingleKey.OPTION_1, AxiInputEx.ByKeyCode(KeyCode.Keypad0));
controllers[1].SetKey((ulong)EssgeeSingleKey.OPTION_2, AxiInputEx.ByKeyCode(KeyCode.Delete));
controllers[1].SetKey((ulong)EssgeeSingleKey.UP, AxiInputEx.ByKeyCode(KeyCode.UpArrow));
controllers[1].SetKey((ulong)EssgeeSingleKey.DOWN, AxiInputEx.ByKeyCode(KeyCode.DownArrow));
controllers[1].SetKey((ulong)EssgeeSingleKey.LEFT, AxiInputEx.ByKeyCode(KeyCode.LeftArrow));
controllers[1].SetKey((ulong)EssgeeSingleKey.RIGHT, AxiInputEx.ByKeyCode(KeyCode.RightArrow));
controllers[1].SetKey((ulong)EssgeeSingleKey.BTN_1, AxiInputEx.ByKeyCode(KeyCode.Keypad1));
controllers[1].SetKey((ulong)EssgeeSingleKey.BTN_2, AxiInputEx.ByKeyCode(KeyCode.Keypad2));
controllers[1].SetKey((ulong)EssgeeSingleKey.BTN_3, AxiInputEx.ByKeyCode(KeyCode.Keypad3));
controllers[1].SetKey((ulong)EssgeeSingleKey.BTN_4, AxiInputEx.ByKeyCode(KeyCode.Keypad4));
controllers[0].ColletAllKey();
#endregion
}
}
public class SG1000SingleKeysSeting : SingleKeySettingBase
{
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 771225d8fe367ac42b6b91adf81ca27f

View File

@ -22,7 +22,7 @@ namespace Assets.Script.AppMain.AxiInput.Settings
{
public UMAMEMultiKeysSetting()
{
controllers = new UMAMEKSingleKeysSeting[1];
controllers = new UMAMEKSingleKeysSeting[4];
for (int i = 0; i < controllers.Length; i++)
controllers[i] = new UMAMEKSingleKeysSeting();
}

View File

@ -1,11 +1,14 @@
using Assets.Script.AppMain.AxiInput.Settings;
using AxibugEmuOnline.Client;
using AxibugEmuOnline.Client.ClientCore;
using AxibugEmuOnline.Client.Event;
using AxibugEmuOnline.Client.Manager;
using AxiReplay;
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using static Assets.Script.AppMain.AxiInput.Settings.MasterSystemMultiKeysSetting;
public class UEGKeyboard : MonoBehaviour
{
@ -539,7 +542,7 @@ public class EssgeeControllerMapper : IControllerSetuper
}
public class EssgssSingleController : IController
{
public KeyCode UP, DOWN, LEFT, RIGHT, BTN_1, BTN_2, BTN_3, BTN_4, OPTION_1, OPTION_2;
//public KeyCode UP, DOWN, LEFT, RIGHT, BTN_1, BTN_2, BTN_3, BTN_4, OPTION_1, OPTION_2;
public ulong tg_UP, tg_DOWN, tg_LEFT, tg_RIGHT, tg_BTN_1, tg_BTN_2, tg_BTN_3, tg_BTN_4, tg_OPTION_1, tg_OPTION_2;
public ulong CurrLocalSingleAllInput { get; private set; }
@ -566,7 +569,7 @@ public class EssgssSingleController : IController
public int ControllerIndex
{
get { return mControllerIndex; }
set { mControllerIndex = value; this.LoadControlKeyForConfig(); }
set { mControllerIndex = value; /*this.LoadControlKeyForConfig();*/ }
}
public EssgssSingleController(int controllerIndex)
@ -576,33 +579,65 @@ public class EssgssSingleController : IController
public bool AnyButtonDown()
{
if (Input.GetKeyDown(UP)) return true;
if (Input.GetKeyDown(DOWN)) return true;
if (Input.GetKeyDown(LEFT)) return true;
if (Input.GetKeyDown(RIGHT)) return true;
if (Input.GetKeyDown(BTN_1)) return true;
if (Input.GetKeyDown(BTN_2)) return true;
if (Input.GetKeyDown(BTN_3)) return true;
if (Input.GetKeyDown(BTN_4)) return true;
if (Input.GetKeyDown(OPTION_1)) return true;
if (Input.GetKeyDown(OPTION_2)) return true;
return false;
//if (Input.GetKeyDown(UP)) return true;
//if (Input.GetKeyDown(DOWN)) return true;
//if (Input.GetKeyDown(LEFT)) return true;
//if (Input.GetKeyDown(RIGHT)) return true;
//if (Input.GetKeyDown(BTN_1)) return true;
//if (Input.GetKeyDown(BTN_2)) return true;
//if (Input.GetKeyDown(BTN_3)) return true;
//if (Input.GetKeyDown(BTN_4)) return true;
//if (Input.GetKeyDown(OPTION_1)) return true;
//if (Input.GetKeyDown(OPTION_2)) return true;
//return false;
return GetSingleKeys().HadAnyKeyDown();
}
public SingleKeySettingBase GetSingleKeys()
{
switch (UEssgee.instance.Platform)
{
case AxibugProtobuf.RomPlatformType.MasterSystem: return App.input.sms.controllers[mControllerIndex];
case AxibugProtobuf.RomPlatformType.GameBoy: return App.input.gb.controllers[mControllerIndex];
case AxibugProtobuf.RomPlatformType.GameBoyColor: return App.input.gbc.controllers[mControllerIndex];
case AxibugProtobuf.RomPlatformType.ColecoVision: return App.input.cv.controllers[mControllerIndex];
case AxibugProtobuf.RomPlatformType.GameGear: return App.input.gg.controllers[mControllerIndex];
case AxibugProtobuf.RomPlatformType.Sc3000: return App.input.sc3000.controllers[mControllerIndex];
case AxibugProtobuf.RomPlatformType.Sg1000: return App.input.sg1000.controllers[mControllerIndex];
default: throw new NotImplementedException("err essgee platform");
}
}
public ulong GetSingleAllInput()
{
if (!ConnectSlot.HasValue)
return 0;
CurrLocalSingleAllInput = 0;
if (Input.GetKey(UP)) CurrLocalSingleAllInput |= (ulong)tg_UP;
if (Input.GetKey(DOWN)) CurrLocalSingleAllInput |= (ulong)tg_DOWN;
if (Input.GetKey(LEFT)) CurrLocalSingleAllInput |= (ulong)tg_LEFT;
if (Input.GetKey(RIGHT)) CurrLocalSingleAllInput |= (ulong)tg_RIGHT;
if (Input.GetKey(BTN_1)) CurrLocalSingleAllInput |= (ulong)tg_BTN_1;
if (Input.GetKey(BTN_2)) CurrLocalSingleAllInput |= (ulong)tg_BTN_2;
if (Input.GetKey(BTN_3)) CurrLocalSingleAllInput |= (ulong)tg_BTN_3;
if (Input.GetKey(BTN_4)) CurrLocalSingleAllInput |= (ulong)tg_BTN_4;
if (Input.GetKey(OPTION_1)) CurrLocalSingleAllInput |= (ulong)tg_OPTION_1;
if (Input.GetKey(OPTION_2)) CurrLocalSingleAllInput |= (ulong)tg_OPTION_1;
SingleKeySettingBase essgeeKeys = GetSingleKeys();
if (essgeeKeys.GetKey((ulong)EssgeeSingleKey.UP)) CurrLocalSingleAllInput |= (ulong)tg_UP;
if (essgeeKeys.GetKey((ulong)EssgeeSingleKey.DOWN)) CurrLocalSingleAllInput |= (ulong)tg_DOWN;
if (essgeeKeys.GetKey((ulong)EssgeeSingleKey.LEFT)) CurrLocalSingleAllInput |= (ulong)tg_LEFT;
if (essgeeKeys.GetKey((ulong)EssgeeSingleKey.RIGHT)) CurrLocalSingleAllInput |= (ulong)tg_RIGHT;
if (essgeeKeys.GetKey((ulong)EssgeeSingleKey.BTN_1)) CurrLocalSingleAllInput |= (ulong)tg_BTN_1;
if (essgeeKeys.GetKey((ulong)EssgeeSingleKey.BTN_2)) CurrLocalSingleAllInput |= (ulong)tg_BTN_2;
if (essgeeKeys.GetKey((ulong)EssgeeSingleKey.BTN_3)) CurrLocalSingleAllInput |= (ulong)tg_BTN_3;
if (essgeeKeys.GetKey((ulong)EssgeeSingleKey.BTN_4)) CurrLocalSingleAllInput |= (ulong)tg_BTN_4;
if (essgeeKeys.GetKey((ulong)EssgeeSingleKey.OPTION_1)) CurrLocalSingleAllInput |= (ulong)tg_OPTION_1;
if (essgeeKeys.GetKey((ulong)EssgeeSingleKey.OPTION_2)) CurrLocalSingleAllInput |= (ulong)tg_OPTION_2;
//if (Input.GetKey(UP)) CurrLocalSingleAllInput |= (ulong)tg_UP;
//if (Input.GetKey(DOWN)) CurrLocalSingleAllInput |= (ulong)tg_DOWN;
//if (Input.GetKey(LEFT)) CurrLocalSingleAllInput |= (ulong)tg_LEFT;
//if (Input.GetKey(RIGHT)) CurrLocalSingleAllInput |= (ulong)tg_RIGHT;
//if (Input.GetKey(BTN_1)) CurrLocalSingleAllInput |= (ulong)tg_BTN_1;
//if (Input.GetKey(BTN_2)) CurrLocalSingleAllInput |= (ulong)tg_BTN_2;
//if (Input.GetKey(BTN_3)) CurrLocalSingleAllInput |= (ulong)tg_BTN_3;
//if (Input.GetKey(BTN_4)) CurrLocalSingleAllInput |= (ulong)tg_BTN_4;
//if (Input.GetKey(OPTION_1)) CurrLocalSingleAllInput |= (ulong)tg_OPTION_1;
//if (Input.GetKey(OPTION_2)) CurrLocalSingleAllInput |= (ulong)tg_OPTION_1;
return CurrLocalSingleAllInput;
}
}
@ -610,41 +645,41 @@ public class EssgssSingleController : IController
public static class EssgssSingleControllerSetter
{
public static void LoadControlKeyForConfig(this EssgssSingleController singlecontrol)
{
//TODO 等待支持配置,或统一
switch (singlecontrol.ControllerIndex)
{
case 0:
singlecontrol.UP = KeyCode.W;
singlecontrol.DOWN = KeyCode.S;
singlecontrol.LEFT = KeyCode.A;
singlecontrol.RIGHT = KeyCode.D;
singlecontrol.BTN_1 = KeyCode.J;
singlecontrol.BTN_2 = KeyCode.K;
singlecontrol.BTN_3 = KeyCode.L;
singlecontrol.BTN_4 = KeyCode.U;
singlecontrol.OPTION_1 = KeyCode.Return;
singlecontrol.OPTION_2 = KeyCode.LeftShift;
break;
case 1:
singlecontrol.UP = KeyCode.UpArrow;
singlecontrol.DOWN = KeyCode.DownArrow;
singlecontrol.LEFT = KeyCode.LeftArrow;
singlecontrol.RIGHT = KeyCode.RightArrow;
singlecontrol.BTN_1 = KeyCode.Keypad1;
singlecontrol.BTN_2 = KeyCode.Keypad2;
singlecontrol.BTN_3 = KeyCode.Keypad3;
singlecontrol.BTN_4 = KeyCode.Keypad4;
singlecontrol.OPTION_1 = KeyCode.Keypad0;
singlecontrol.OPTION_2 = KeyCode.KeypadPeriod;
break;
case 2:
break;
case 3:
break;
}
}
//public static void LoadControlKeyForConfig(this EssgssSingleController singlecontrol)
//{
// //TODO µÈ´ýÖ§³ÖÅäÖ㬻òͳһ
// switch (singlecontrol.ControllerIndex)
// {
// case 0:
// singlecontrol.UP = KeyCode.W;
// singlecontrol.DOWN = KeyCode.S;
// singlecontrol.LEFT = KeyCode.A;
// singlecontrol.RIGHT = KeyCode.D;
// singlecontrol.BTN_1 = KeyCode.J;
// singlecontrol.BTN_2 = KeyCode.K;
// singlecontrol.BTN_3 = KeyCode.L;
// singlecontrol.BTN_4 = KeyCode.U;
// singlecontrol.OPTION_1 = KeyCode.Return;
// singlecontrol.OPTION_2 = KeyCode.LeftShift;
// break;
// case 1:
// singlecontrol.UP = KeyCode.UpArrow;
// singlecontrol.DOWN = KeyCode.DownArrow;
// singlecontrol.LEFT = KeyCode.LeftArrow;
// singlecontrol.RIGHT = KeyCode.RightArrow;
// singlecontrol.BTN_1 = KeyCode.Keypad1;
// singlecontrol.BTN_2 = KeyCode.Keypad2;
// singlecontrol.BTN_3 = KeyCode.Keypad3;
// singlecontrol.BTN_4 = KeyCode.Keypad4;
// singlecontrol.OPTION_1 = KeyCode.Keypad0;
// singlecontrol.OPTION_2 = KeyCode.KeypadPeriod;
// break;
// case 2:
// break;
// case 3:
// break;
// }
//}
public static void ResetTargetMotionKey(this EssgssSingleController singlecontrol)
{
if (!singlecontrol.ConnectSlot.HasValue)
@ -688,7 +723,6 @@ public static class EssgssSingleControllerSetter
singlecontrol.tg_OPTION_1 = EssgeeUnityKey.P2_POTION_1;
singlecontrol.tg_OPTION_2 = EssgeeUnityKey.P2_POTION_2;
break;
//后续修改后 支持P3 P4
case 2:
singlecontrol.tg_UP = EssgeeUnityKey.P3_UP;
singlecontrol.tg_DOWN = EssgeeUnityKey.P3_DOWN;

View File

@ -1,23 +0,0 @@
//using MAME.Core;
//using UnityEngine;
//public class UEGMouse : MonoBehaviour, IMouse
//{
// static int mX, mY;
// public byte[] buttons = new byte[2];
// void Update()
// {
// mX = (int)Input.mousePosition.x;
// mY = (int)Input.mousePosition.y;
// buttons[0] = Input.GetMouseButton(0) ? (byte)1 : (byte)0;
// buttons[1] = Input.GetMouseButton(1) ? (byte)1 : (byte)0;
// }
// public void MouseXY(out int X, out int Y, out byte[] MouseButtons)
// {
// X = mX;
// Y = mY * -1;
// MouseButtons = buttons;
// }
//}

View File

@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: 5000dd7c855d83549b136afe42b2bb47

View File

@ -1,4 +1,5 @@
using UnityEngine;
using AxibugEmuOnline.Client.ClientCore;
using UnityEngine;
using VirtualNes.Core;
namespace AxibugEmuOnline.Client
@ -13,13 +14,25 @@ namespace AxibugEmuOnline.Client
private SoundBuffer _buffer = new SoundBuffer(4096);
public void Start()
{
//// 获取当前音频配置
//AudioConfiguration config = AudioSettings.GetConfiguration();
//// 设置目标音频配置
//config.sampleRate = 44100; // 采样率
//config.numRealVoices = 32; // 设置最大音频源数量(可选)
//config.numVirtualVoices = 512; // 设置虚拟音频源数量(可选)
//config.dspBufferSize = 1024; // 设置 DSP 缓冲区大小(可选)
//config.speakerMode = AudioSpeakerMode.Stereo; // 设置为立体声2 声道)
App.audioMgr.SetAudioConfig(new AudioConfiguration());
//TODO 采样率需要更准确而且和clip并没有关系
var dummy = AudioClip.Create("dummy", 1, 1, AudioSettings.outputSampleRate, false);
dummy.SetData(new float[] { 1 }, 0);
m_as.clip = dummy; //just to let unity play the audiosource
//var dummy = AudioClip.Create("dummy", 1, 1, AudioSettings.outputSampleRate, false);
//dummy.SetData(new float[] { 1 }, 0);
//m_as.clip = dummy; //just to let unity play the audiosource
m_as.loop = true;
m_as.spatialBlend = 1;
m_as.Play();
}
public void GetAudioParams(out int frequency, out int channels)
{

View File

@ -1,5 +1,7 @@
using AxibugEmuOnline.Client.Common;
using AxibugEmuOnline.Client.ClientCore;
using AxibugEmuOnline.Client.Common;
using AxibugEmuOnline.Client.Event;
using NUnit.Framework.Internal;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
@ -133,59 +135,70 @@ namespace AxibugEmuOnline.Client
/// </summary>
public uint? ConnectSlot { get; set; }
public Button UP { get; }
public Button DOWN { get; }
public Button LEFT { get; }
public Button RIGHT { get; }
public Button A { get; }
public Button B { get; }
public Button SELECT { get; }
public Button START { get; }
public Button MIC { get; }
//public Button UP { get; }
//public Button DOWN { get; }
//public Button LEFT { get; }
//public Button RIGHT { get; }
//public Button A { get; }
//public Button B { get; }
//public Button SELECT { get; }
//public Button START { get; }
//public Button MIC { get; }
public Controller(int controllerIndex)
{
ControllerIndex = controllerIndex;
UP = new Button(this, EnumButtonType.UP);
DOWN = new Button(this, EnumButtonType.DOWN);
LEFT = new Button(this, EnumButtonType.LEFT);
RIGHT = new Button(this, EnumButtonType.RIGHT);
A = new Button(this, EnumButtonType.A);
B = new Button(this, EnumButtonType.B);
SELECT = new Button(this, EnumButtonType.SELECT);
START = new Button(this, EnumButtonType.START);
MIC = new Button(this, EnumButtonType.MIC);
//UP = new Button(this, EnumButtonType.UP);
//DOWN = new Button(this, EnumButtonType.DOWN);
//LEFT = new Button(this, EnumButtonType.LEFT);
//RIGHT = new Button(this, EnumButtonType.RIGHT);
//A = new Button(this, EnumButtonType.A);
//B = new Button(this, EnumButtonType.B);
//SELECT = new Button(this, EnumButtonType.SELECT);
//START = new Button(this, EnumButtonType.START);
//MIC = new Button(this, EnumButtonType.MIC);
}
public EnumButtonType GetButtons()
{
EnumButtonType res = 0;
res |= UP.SampleKey();
res |= DOWN.SampleKey();
res |= LEFT.SampleKey();
res |= RIGHT.SampleKey();
res |= A.SampleKey();
res |= B.SampleKey();
res |= SELECT.SampleKey();
res |= START.SampleKey();
res |= MIC.SampleKey();
if(App.input.nes.controllers[ControllerIndex].GetKey((ulong)EnumButtonType.UP)) res |= EnumButtonType.UP;
if(App.input.nes.controllers[ControllerIndex].GetKey((ulong)EnumButtonType.DOWN)) res |= EnumButtonType.DOWN;
if(App.input.nes.controllers[ControllerIndex].GetKey((ulong)EnumButtonType.LEFT)) res |= EnumButtonType.LEFT;
if(App.input.nes.controllers[ControllerIndex].GetKey((ulong)EnumButtonType.RIGHT)) res |= EnumButtonType.RIGHT;
if(App.input.nes.controllers[ControllerIndex].GetKey((ulong)EnumButtonType.A)) res |= EnumButtonType.A;
if(App.input.nes.controllers[ControllerIndex].GetKey((ulong)EnumButtonType.B)) res |= EnumButtonType.B;
if(App.input.nes.controllers[ControllerIndex].GetKey((ulong)EnumButtonType.SELECT)) res |= EnumButtonType.SELECT;
if(App.input.nes.controllers[ControllerIndex].GetKey((ulong)EnumButtonType.START)) res |= EnumButtonType.START;
if(App.input.nes.controllers[ControllerIndex].GetKey((ulong)EnumButtonType.MIC)) res |= EnumButtonType.MIC;
//res |= UP.SampleKey();
//res |= DOWN.SampleKey();
//res |= LEFT.SampleKey();
//res |= RIGHT.SampleKey();
//res |= A.SampleKey();
//res |= B.SampleKey();
//res |= SELECT.SampleKey();
//res |= START.SampleKey();
//res |= MIC.SampleKey();
return res;
}
public bool AnyButtonDown()
{
return
UP.IsDown ||
DOWN.IsDown ||
LEFT.IsDown ||
RIGHT.IsDown ||
A.IsDown ||
B.IsDown ||
SELECT.IsDown ||
START.IsDown ||
MIC.IsDown;
return App.input.nes.controllers[ControllerIndex].HadAnyKeyDown();
//return
// UP.IsDown ||
// DOWN.IsDown ||
// LEFT.IsDown ||
// RIGHT.IsDown ||
// A.IsDown ||
// B.IsDown ||
// SELECT.IsDown ||
// START.IsDown ||
// MIC.IsDown;
}
public static KeyListener GetKey(int controllerInput, EnumButtonType nesConBtnType)
@ -211,47 +224,47 @@ namespace AxibugEmuOnline.Client
}
}
/// <summary>
/// NES控制器按键类
/// </summary>
public class Button
{
/// <summary> 所属控制器 </summary>
readonly Controller m_hostController;
///// <summary>
///// NES控制器按键类
///// </summary>
//public class Button
//{
// /// <summary> 所属控制器 </summary>
// readonly Controller m_hostController;
/// <summary> 按键 </summary>
readonly EnumButtonType m_buttonType;
// /// <summary> 按键 </summary>
// readonly EnumButtonType m_buttonType;
/// <summary> 按键监听器 </summary>
KeyListener m_keyListener;
// /// <summary> 按键监听器 </summary>
// KeyListener m_keyListener;
/// <summary> 指示按钮是否正在按下状态 </summary>
public bool IsPressing => m_keyListener.IsPressing();
/// <summary> 指示按钮是否被按下 </summary>
public bool IsDown => m_keyListener.IsDown();
// /// <summary> 指示按钮是否正在按下状态 </summary>
// public bool IsPressing => m_keyListener.IsPressing();
// /// <summary> 指示按钮是否被按下 </summary>
// public bool IsDown => m_keyListener.IsDown();
public Button(Controller controller, EnumButtonType buttonType)
{
m_hostController = controller;
m_buttonType = buttonType;
// public Button(Controller controller, EnumButtonType buttonType)
// {
// m_hostController = controller;
// m_buttonType = buttonType;
CreateListener();
}
// CreateListener();
// }
/// <summary>
/// 采集按钮按下状态
/// </summary>
/// <returns></returns>
public EnumButtonType SampleKey()
{
return IsPressing ? m_buttonType : 0;
}
// /// <summary>
// /// 采集按钮按下状态
// /// </summary>
// /// <returns></returns>
// public EnumButtonType SampleKey()
// {
// return IsPressing ? m_buttonType : 0;
// }
private void CreateListener()
{
m_keyListener = Controller.GetKey(m_hostController.ControllerIndex, m_buttonType);
}
}
// private void CreateListener()
// {
// m_keyListener = Controller.GetKey(m_hostController.ControllerIndex, m_buttonType);
// }
//}
//low C# readonly
//public readonly struct KeyListener

View File

@ -14,11 +14,27 @@ namespace AxibugEmuOnline.Client.Manager
public XMBMultiKeysSetting xmb;
public GamingMultiKeysSetting gaming;
public UMAMEMultiKeysSetting mame;
public NESMultiKeysSetting nes;
public MasterSystemMultiKeysSetting sms;
public ColecoVisionMultiKeysSetting cv;
public GameBoyColorMultiKeysSetting gbc;
public GameBoyMultiKeysSetting gb;
public GameGearMultiKeysSetting gg;
public SC3000MultiKeysSetting sc3000;
public SG1000MultiKeysSetting sg1000;
public AppInput()
{
xmb = new XMBMultiKeysSetting();
gaming = new GamingMultiKeysSetting();
mame = new UMAMEMultiKeysSetting();
nes = new NESMultiKeysSetting();
sms = new MasterSystemMultiKeysSetting();
cv = new ColecoVisionMultiKeysSetting();
gbc = new GameBoyColorMultiKeysSetting();
gb = new GameBoyMultiKeysSetting();
gg = new GameGearMultiKeysSetting();
sc3000 = new SC3000MultiKeysSetting();
sg1000 = new SG1000MultiKeysSetting();
LoadDefaultSetting();
}
@ -27,6 +43,14 @@ namespace AxibugEmuOnline.Client.Manager
xmb.LoadDefaultSetting();
gaming.LoadDefaultSetting();
mame.LoadDefaultSetting();
nes.LoadDefaultSetting();
sms.LoadDefaultSetting();
cv.LoadDefaultSetting();
gbc.LoadDefaultSetting();
gb.LoadDefaultSetting();
gg.LoadDefaultSetting();
sc3000.LoadDefaultSetting();
sg1000.LoadDefaultSetting();
}
}

View File

@ -5,7 +5,6 @@ using System.IO;
using System.Linq;
using System.Text;
using UnityEngine;
using static UnityEditor.PlayerSettings;
namespace AxibugEmuOnline.Client
{