From 50e3a30f3178edbada54b1f4ec0ac4c573c5e8a2 Mon Sep 17 00:00:00 2001 From: "ALIENJACK\\alien" <alienjack@foxmail.com> Date: Thu, 27 Mar 2025 15:02:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86=E6=89=80=E6=9C=89=E6=8A=BD=E8=B1=A1?= =?UTF-8?q?=E5=B1=82Input=E7=9A=84=E7=B1=BB=E5=8A=A0=E4=B8=8A=E5=90=8E?= =?UTF-8?q?=E7=BC=80,D=E4=BB=A3=E8=A1=A8=E8=AE=BE=E5=A4=87,C=E4=BB=A3?= =?UTF-8?q?=E8=A1=A8=E6=8E=A7=E4=BB=B6,=E9=81=BF=E5=85=8D=E5=92=8CInputSys?= =?UTF-8?q?tem=E4=B8=AD=E7=9A=84=E8=AE=BE=E5=A4=87=E9=87=8D=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../KeyMapperSetting/EssgeeKeyBinding.cs | 14 ++--- .../KeyMapperSetting/KeyMapperSetting.cs | 40 +++++++------- .../KeyMapperSetting/MAMEKeyBinding.cs | 4 +- .../KeyMapperSetting/NesKeyBinding.cs | 4 +- .../KeyMapperSetting/XMBKeyBinding.cs | 4 +- .../InputDevicesManager/Devices/GamePad_D.cs | 34 ++++++++++++ .../Devices/GamePad_D.cs.meta | 2 + .../Devices/InputControls.meta | 8 +++ .../InputControls/{Button.cs => Button_C.cs} | 4 +- .../Devices/InputControls/Button_C.cs.meta | 2 + .../{InputControl.cs => InputControl_D.cs} | 6 +-- .../InputControls/InputControl_D.cs.meta | 2 + .../InputControls/{Stick.cs => Stick_C.cs} | 8 +-- .../Devices/InputControls/Stick_C.cs.meta | 2 + .../{InputDevice.cs => InputDevice_D.cs} | 10 ++-- .../Devices/InputDevice_D.cs.meta | 2 + .../Devices/{Keyboard.cs => Keyboard_D.cs} | 14 ++--- .../{Keyboard.cs.meta => Keyboard_D.cs.meta} | 0 .../Devices/PSVController.cs | 54 ------------------- .../Devices/PSVController_D.cs | 54 +++++++++++++++++++ ...roller.cs.meta => PSVController_D.cs.meta} | 0 .../InputDevicesManager.cs | 16 +++--- .../InputResolver/InputResolver.cs | 20 +++---- .../InputResolver/InputSystemResolver.cs | 35 ++++++------ .../InputResolver/PSVResolver.cs | 18 +++---- 25 files changed, 203 insertions(+), 154 deletions(-) create mode 100644 AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/GamePad_D.cs create mode 100644 AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/GamePad_D.cs.meta create mode 100644 AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls.meta rename AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/{Button.cs => Button_C.cs} (67%) create mode 100644 AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/Button_C.cs.meta rename AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/{InputControl.cs => InputControl_D.cs} (89%) create mode 100644 AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/InputControl_D.cs.meta rename AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/{Stick.cs => Stick_C.cs} (83%) create mode 100644 AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/Stick_C.cs.meta rename AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/{InputDevice.cs => InputDevice_D.cs} (79%) create mode 100644 AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputDevice_D.cs.meta rename AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/{Keyboard.cs => Keyboard_D.cs} (94%) rename AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/{Keyboard.cs.meta => Keyboard_D.cs.meta} (100%) delete mode 100644 AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/PSVController.cs create mode 100644 AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/PSVController_D.cs rename AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/{PSVController.cs.meta => PSVController_D.cs.meta} (100%) diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/KeyMapperSetting/EssgeeKeyBinding.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/KeyMapperSetting/EssgeeKeyBinding.cs index 5423edc2..9b7d9bdf 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/KeyMapperSetting/EssgeeKeyBinding.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/KeyMapperSetting/EssgeeKeyBinding.cs @@ -22,9 +22,9 @@ namespace AxibugEmuOnline.Client.Settings public abstract class EssgeeKeyBinding : EmuCoreControllerKeyBinding<EssgeeSingleKey> { - protected override void OnRegistDevices(InputDevice device, BindingPage binding) + protected override void OnRegistDevices(InputDevice_D device, BindingPage binding) { - if (device is KeyBoard keyboard) + if (device is Keyboard_D keyboard) { switch (binding.ControllerIndex) { @@ -54,7 +54,7 @@ namespace AxibugEmuOnline.Client.Settings break; } } - else if (device is PSVController psvCon && binding.ControllerIndex == 0) + else if (device is PSVController_D psvCon && binding.ControllerIndex == 0) { binding.SetBinding(EssgeeSingleKey.OPTION_1, psvCon.Start, 0); binding.SetBinding(EssgeeSingleKey.OPTION_2, psvCon.Select, 0); @@ -98,9 +98,9 @@ namespace AxibugEmuOnline.Client.Settings public override RomPlatformType Platform => RomPlatformType.GameBoyColor; public override int ControllerCount => 1; - protected override void OnRegistDevices(InputDevice device, BindingPage binding) + protected override void OnRegistDevices(InputDevice_D device, BindingPage binding) { - if (device is KeyBoard keyboard) + if (device is Keyboard_D keyboard) { switch (binding.ControllerIndex) { @@ -125,9 +125,9 @@ namespace AxibugEmuOnline.Client.Settings public override RomPlatformType Platform => RomPlatformType.GameBoy; public override int ControllerCount => 1; - protected override void OnRegistDevices(InputDevice device, BindingPage binding) + protected override void OnRegistDevices(InputDevice_D device, BindingPage binding) { - if (device is KeyBoard keyboard) + if (device is Keyboard_D keyboard) { switch (binding.ControllerIndex) { diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/KeyMapperSetting/KeyMapperSetting.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/KeyMapperSetting/KeyMapperSetting.cs index bfb5a1ba..112e0c1c 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/KeyMapperSetting/KeyMapperSetting.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/KeyMapperSetting/KeyMapperSetting.cs @@ -70,7 +70,7 @@ namespace AxibugEmuOnline.Client.Settings m_bindingPages.Add(new BindingPage(i, this)); } - var keyboard = App.input.GetDevice<KeyBoard>(); + var keyboard = App.input.GetDevice<Keyboard_D>(); if (keyboard != null) { foreach (var binding in m_bindingPages) @@ -79,7 +79,7 @@ namespace AxibugEmuOnline.Client.Settings } } - var psvController = App.input.GetDevice<PSVController>(); + var psvController = App.input.GetDevice<PSVController_D>(); if (psvController != null) { foreach (var binding in m_bindingPages) @@ -92,9 +92,9 @@ namespace AxibugEmuOnline.Client.Settings App.input.OnDeviceConnected += InputDevicesMgr_OnDeviceConnected; } - private void InputDevicesMgr_OnDeviceConnected(InputDevice connectDevice) + private void InputDevicesMgr_OnDeviceConnected(InputDevice_D connectDevice) { - if (connectDevice is KeyBoard) + if (connectDevice is Keyboard_D) { foreach (var binding in m_bindingPages) { @@ -103,15 +103,15 @@ namespace AxibugEmuOnline.Client.Settings } } - private void InputDevicesMgr_OnDeviceLost(InputDevice lostDevice) + private void InputDevicesMgr_OnDeviceLost(InputDevice_D lostDevice) { foreach (var binding in m_bindingPages) { binding.UnregistInputDevice(lostDevice); } - if (lostDevice is KeyBoard) //键盘丢失,立即查找还存在的键盘并建立连接 + if (lostDevice is Keyboard_D) //键盘丢失,立即查找还存在的键盘并建立连接 { - var anotherKeyboard = App.input.GetDevice<KeyBoard>(); + var anotherKeyboard = App.input.GetDevice<Keyboard_D>(); if (anotherKeyboard != null) { foreach (var binding in m_bindingPages) @@ -127,11 +127,11 @@ namespace AxibugEmuOnline.Client.Settings return Enum.GetValues(typeof(T)).Cast<T>(); } - internal void RaiseDeviceRegist(InputDevice device, BindingPage binding) + internal void RaiseDeviceRegist(InputDevice_D device, BindingPage binding) { OnRegistDevices(device, binding); } - protected abstract void OnRegistDevices(InputDevice device, BindingPage binding); + protected abstract void OnRegistDevices(InputDevice_D device, BindingPage binding); public bool Start(T emuControl, int controllerIndex) { @@ -232,12 +232,12 @@ namespace AxibugEmuOnline.Client.Settings else return totalFloat / totalControl; } - public class MapSetting : Dictionary<T, List<InputControl>> { } + public class MapSetting : Dictionary<T, List<InputControl_D>> { } public class BindingPage { - Dictionary<Type, InputDevice> m_registedDevices = new Dictionary<Type, InputDevice>(); - Dictionary<InputDevice, MapSetting> m_mapSetting = new Dictionary<InputDevice, MapSetting>(); + Dictionary<Type, InputDevice_D> m_registedDevices = new Dictionary<Type, InputDevice_D>(); + Dictionary<InputDevice_D, MapSetting> m_mapSetting = new Dictionary<InputDevice_D, MapSetting>(); public int ControllerIndex { get; } public EmuCoreControllerKeyBinding<T> Host { get; } @@ -248,7 +248,7 @@ namespace AxibugEmuOnline.Client.Settings Host = host; } - internal bool IsRegisted<DEVICE>() where DEVICE : InputDevice + internal bool IsRegisted<DEVICE>() where DEVICE : InputDevice_D { var type = typeof(T); return IsRegisted(type); @@ -258,7 +258,7 @@ namespace AxibugEmuOnline.Client.Settings return m_registedDevices.ContainsKey(deviceType); } - internal void RegistInputDevice(InputDevice device) + internal void RegistInputDevice(InputDevice_D device) { var type = device.GetType(); if (IsRegisted(type)) return; @@ -268,7 +268,7 @@ namespace AxibugEmuOnline.Client.Settings Host.RaiseDeviceRegist(device, this); } - internal void UnregistInputDevice(InputDevice device) + internal void UnregistInputDevice(InputDevice_D device) { var type = device.GetType(); if (!IsRegisted(type)) return; @@ -277,7 +277,7 @@ namespace AxibugEmuOnline.Client.Settings m_mapSetting.Remove(device); } - public void SetBinding(T emuBtn, InputControl key, int settingSlot) + public void SetBinding(T emuBtn, InputControl_D key, int settingSlot) { var device = key.Device; m_registedDevices.TryGetValue(device.GetType(), out var inputDevice); @@ -287,7 +287,7 @@ namespace AxibugEmuOnline.Client.Settings var setting = m_mapSetting[inputDevice]; if (!setting.TryGetValue(emuBtn, out var settingList)) { - settingList = new List<InputControl>(); + settingList = new List<InputControl_D>(); setting[emuBtn] = settingList; } @@ -297,7 +297,7 @@ namespace AxibugEmuOnline.Client.Settings settingList[settingSlot] = key; } - public InputControl GetBinding(T emuBtn, InputDevice device, int settingSlot) + public InputControl_D GetBinding(T emuBtn, InputDevice_D device, int settingSlot) { m_mapSetting.TryGetValue(device, out var mapSetting); if (mapSetting == null) return null; @@ -308,8 +308,8 @@ namespace AxibugEmuOnline.Client.Settings return settingList[settingSlot]; } - private List<InputControl> m_caches = new List<InputControl>(); - public IEnumerable<InputControl> GetBinding(T emuBtn) + private List<InputControl_D> m_caches = new List<InputControl_D>(); + public IEnumerable<InputControl_D> GetBinding(T emuBtn) { m_caches.Clear(); diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/KeyMapperSetting/MAMEKeyBinding.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/KeyMapperSetting/MAMEKeyBinding.cs index 5fe780ab..8631ad58 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/KeyMapperSetting/MAMEKeyBinding.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/KeyMapperSetting/MAMEKeyBinding.cs @@ -23,9 +23,9 @@ namespace AxibugEmuOnline.Client.Settings { public override int ControllerCount => 4; - protected override void OnRegistDevices(InputDevice device, BindingPage binding) + protected override void OnRegistDevices(InputDevice_D device, BindingPage binding) { - if (device is KeyBoard keyboard) + if (device is Keyboard_D keyboard) { switch (binding.ControllerIndex) { diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/KeyMapperSetting/NesKeyBinding.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/KeyMapperSetting/NesKeyBinding.cs index 6c9d83ab..3ab0e60e 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/KeyMapperSetting/NesKeyBinding.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/KeyMapperSetting/NesKeyBinding.cs @@ -9,9 +9,9 @@ namespace AxibugEmuOnline.Client.Settings public override RomPlatformType Platform => RomPlatformType.Nes; public override int ControllerCount => 4; - protected override void OnRegistDevices(InputDevice device, BindingPage binding) + protected override void OnRegistDevices(InputDevice_D device, BindingPage binding) { - if (device is KeyBoard keyboard) + if (device is Keyboard_D keyboard) { switch (binding.ControllerIndex) { diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/KeyMapperSetting/XMBKeyBinding.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/KeyMapperSetting/XMBKeyBinding.cs index aa8e06fc..caec9054 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/KeyMapperSetting/XMBKeyBinding.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/KeyMapperSetting/XMBKeyBinding.cs @@ -9,9 +9,9 @@ namespace AxibugEmuOnline.Client public override RomPlatformType Platform => RomPlatformType.Invalid; public override int ControllerCount => 2; - protected override void OnRegistDevices(InputDevice device, BindingPage binding) + protected override void OnRegistDevices(InputDevice_D device, BindingPage binding) { - if (device is KeyBoard keyboard) + if (device is Keyboard_D keyboard) { switch (binding.ControllerIndex) { diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/GamePad_D.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/GamePad_D.cs new file mode 100644 index 00000000..6bb15a6d --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/GamePad_D.cs @@ -0,0 +1,34 @@ +using System.Collections.Generic; + +namespace AxibugEmuOnline.Client.InputDevices +{ + /// <summary> + /// 通用游戏控制器 + /// </summary> + public class GamePad_D : InputDevice_D + { + public Button_C Up { get; private set; } + public Button_C Down { get; private set; } + public Button_C Left { get; private set; } + public Button_C Right { get; private set; } + public Button_C Option { get; private set; } + public Button_C Start { get; private set; } + public Button_C North { get; private set; } + public Button_C South { get; private set; } + public Button_C West { get; private set; } + public Button_C East { get; private set; } + public Button_C LeftShoulder { get; private set; } + public Button_C RightShoulder { get; private set; } + public Button_C LeftTrigger { get; private set; } + public Button_C RightTrigger { get; private set; } + + public GamePad_D(InputResolver resolver) : base(resolver) { } + + protected override List<InputControl_D> DefineControls() + { + throw new System.NotImplementedException(); + } + + + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/GamePad_D.cs.meta b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/GamePad_D.cs.meta new file mode 100644 index 00000000..2ce54c6c --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/GamePad_D.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: adda9a9ea56de5742bc1b00ce85ce9e5 \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls.meta b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls.meta new file mode 100644 index 00000000..cac0156c --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e098c1dc313c2d746b3a0c6a7f1a69f0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/Button.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/Button_C.cs similarity index 67% rename from AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/Button.cs rename to AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/Button_C.cs index cc166856..521d34ec 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/Button.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/Button_C.cs @@ -3,11 +3,11 @@ /// <summary> /// 按键类型的输入控件 /// </summary> - public class Button : InputControl + public class Button_C : InputControl_D { string m_controlName; - public Button(InputDevice device, string controlName) : base(device) + public Button_C(InputDevice_D device, string controlName) : base(device) { m_controlName = controlName; } diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/Button_C.cs.meta b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/Button_C.cs.meta new file mode 100644 index 00000000..dbb81e4a --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/Button_C.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2106c0f7afa9b7647978373d7c6d5aae \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/InputControl.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/InputControl_D.cs similarity index 89% rename from AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/InputControl.cs rename to AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/InputControl_D.cs index 9f8f811d..bcd70e18 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/InputControl.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/InputControl_D.cs @@ -5,10 +5,10 @@ namespace AxibugEmuOnline.Client.InputDevices /// <summary> /// 输入设备的抽象控件接口 /// </summary> - public abstract class InputControl + public abstract class InputControl_D { /// <summary> 控件所属设备 </summary> - public InputDevice Device { get; internal set; } + public InputDevice_D Device { get; internal set; } /// <summary> 获取该控件是否在当前调用帧被激发 </summary> public bool Start { get; private set; } @@ -51,7 +51,7 @@ namespace AxibugEmuOnline.Client.InputDevices /// <summary> 控件名,这个控件名称必须是唯一的 </summary> public abstract string ControlName { get; } - internal InputControl(InputDevice device) + internal InputControl_D(InputDevice_D device) { Device = device; } diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/InputControl_D.cs.meta b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/InputControl_D.cs.meta new file mode 100644 index 00000000..f5b08af4 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/InputControl_D.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 0d3d88a49545f614184e3d5a59d2958e \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/Stick.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/Stick_C.cs similarity index 83% rename from AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/Stick.cs rename to AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/Stick_C.cs index 227647c6..225da4c3 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/Stick.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/Stick_C.cs @@ -5,7 +5,7 @@ namespace AxibugEmuOnline.Client.InputDevices /// <summary> /// 摇杆类型的输入控件,支持的返回值为Vector2 /// </summary> - public class Stick : InputControl + public class Stick_C : InputControl_D { string m_controlName; public override string ControlName => m_controlName; @@ -15,7 +15,7 @@ namespace AxibugEmuOnline.Client.InputDevices public VirtualButton Left { get; private set; } public VirtualButton Right { get; private set; } - public Stick(InputDevice device, string controlName) : base(device) + public Stick_C(InputDevice_D device, string controlName) : base(device) { m_controlName = controlName; @@ -43,11 +43,11 @@ namespace AxibugEmuOnline.Client.InputDevices } - public class VirtualButton : InputControl + public class VirtualButton : InputControl_D { internal bool m_performing; - public VirtualButton(InputDevice device) : base(device) { } + public VirtualButton(InputDevice_D device) : base(device) { } public override bool Performing { diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/Stick_C.cs.meta b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/Stick_C.cs.meta new file mode 100644 index 00000000..2fa0f1e3 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputControls/Stick_C.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9091f3794f770294488695cd2cbbf7af \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputDevice.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputDevice_D.cs similarity index 79% rename from AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputDevice.cs rename to AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputDevice_D.cs index e8f17bc6..402df819 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputDevice.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputDevice_D.cs @@ -2,7 +2,7 @@ namespace AxibugEmuOnline.Client.InputDevices { - public abstract class InputDevice + public abstract class InputDevice_D { public string UniqueName => m_resolver.GetDeviceName(this); @@ -13,9 +13,9 @@ namespace AxibugEmuOnline.Client.InputDevices /// <summary> 获得输入解决器 </summary> internal InputResolver Resolver => m_resolver; - protected Dictionary<string, InputControl> m_controlMapper = new Dictionary<string, InputControl>(); + protected Dictionary<string, InputControl_D> m_controlMapper = new Dictionary<string, InputControl_D>(); protected InputResolver m_resolver; - public InputDevice(InputResolver resolver) + public InputDevice_D(InputResolver resolver) { m_resolver = resolver; @@ -41,12 +41,12 @@ namespace AxibugEmuOnline.Client.InputDevices /// <summary> 用于列出这个输入设备的所有输入控件实例 </summary> /// <returns></returns> - protected abstract List<InputControl> DefineControls(); + protected abstract List<InputControl_D> DefineControls(); /// <summary> 通过控件名称,找到对应的控件 </summary> /// <param name="keyName"></param> /// <returns></returns> - public InputControl FindControlByName(string controlName) + public InputControl_D FindControlByName(string controlName) { m_controlMapper.TryGetValue(controlName, out var key); return key; diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputDevice_D.cs.meta b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputDevice_D.cs.meta new file mode 100644 index 00000000..40a2f53f --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/InputDevice_D.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: eab247826950d024b8a5c7ade4142391 \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/Keyboard.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/Keyboard_D.cs similarity index 94% rename from AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/Keyboard.cs rename to AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/Keyboard_D.cs index a85464a2..34d41b59 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/Keyboard.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/Keyboard_D.cs @@ -7,15 +7,15 @@ namespace AxibugEmuOnline.Client.InputDevices /// <summary> /// 通用键盘设备 /// </summary> - public partial class KeyBoard : InputDevice + public partial class Keyboard_D : InputDevice_D { Dictionary<KeyCode, KeyboardKey> m_keyControllerMap = new Dictionary<KeyCode, KeyboardKey>(); - public KeyBoard(InputResolver resolver) : base(resolver) { } + public Keyboard_D(InputResolver resolver) : base(resolver) { } - protected override List<InputControl> DefineControls() + protected override List<InputControl_D> DefineControls() { - var keys = s_keyboardKeys.Select(kc => new KeyboardKey(kc, this) as InputControl).ToList(); + var keys = s_keyboardKeys.Select(kc => new KeyboardKey(kc, this) as InputControl_D).ToList(); foreach (KeyboardKey key in keys) { m_keyControllerMap.Add(key.m_keycode, key); @@ -23,11 +23,11 @@ namespace AxibugEmuOnline.Client.InputDevices return keys; } - public class KeyboardKey : Button + public class KeyboardKey : Button_C { internal KeyCode m_keycode; - internal KeyboardKey(KeyCode listenKey, KeyBoard keyboard) + internal KeyboardKey(KeyCode listenKey, Keyboard_D keyboard) : base(keyboard, listenKey.ToString()) { m_keycode = listenKey; @@ -36,7 +36,7 @@ namespace AxibugEmuOnline.Client.InputDevices } #region HardCodeForKeyboard - public partial class KeyBoard : InputDevice + public partial class Keyboard_D : InputDevice_D { static readonly List<KeyCode> s_keyboardKeys = new List<KeyCode> { diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/Keyboard.cs.meta b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/Keyboard_D.cs.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/Keyboard.cs.meta rename to AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/Keyboard_D.cs.meta diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/PSVController.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/PSVController.cs deleted file mode 100644 index 9ebbbf72..00000000 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/PSVController.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System.Collections.Generic; - -namespace AxibugEmuOnline.Client.InputDevices -{ - public class PSVController : InputDevice - { - /// <summary> × </summary> - public Button Cross { get; private set; } - /// <summary> ○ </summary> - public Button Circle { get; private set; } - /// <summary> □ </summary> - public Button Square { get; private set; } - /// <summary> △ </summary> - public Button Triangle { get; private set; } - public Button L { get; private set; } - public Button R { get; private set; } - public Button Select { get; private set; } - public Button Start { get; private set; } - public Button Up { get; private set; } - public Button Right { get; private set; } - public Button Down { get; private set; } - public Button Left { get; private set; } - public Stick LeftStick { get; private set; } - public Stick RightStick { get; private set; } - - public PSVController(InputResolver resolver) : base(resolver) { } - - protected override List<InputControl> DefineControls() - { - List<InputControl> result = new List<InputControl>(); - - Cross = new Button(this, "X"); - Circle = new Button(this, "⭕"); - Square = new Button(this, "□"); - Triangle = new Button(this, "△"); - - L = new Button(this, "L"); - R = new Button(this, "R"); - - Select = new Button(this, "SELECT"); - Start = new Button(this, "START"); - - Up = new Button(this, "UP"); - Right = new Button(this, "RIGHT"); - Down = new Button(this, "DOWN"); - Left = new Button(this, "LEFT"); - - LeftStick = new Stick(this, nameof(LeftStick)); - RightStick = new Stick(this, nameof(RightStick)); - - return result; - } - } -} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/PSVController_D.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/PSVController_D.cs new file mode 100644 index 00000000..4d96be15 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/PSVController_D.cs @@ -0,0 +1,54 @@ +using System.Collections.Generic; + +namespace AxibugEmuOnline.Client.InputDevices +{ + public class PSVController_D : InputDevice_D + { + /// <summary> × </summary> + public Button_C Cross { get; private set; } + /// <summary> ○ </summary> + public Button_C Circle { get; private set; } + /// <summary> □ </summary> + public Button_C Square { get; private set; } + /// <summary> △ </summary> + public Button_C Triangle { get; private set; } + public Button_C L { get; private set; } + public Button_C R { get; private set; } + public Button_C Select { get; private set; } + public Button_C Start { get; private set; } + public Button_C Up { get; private set; } + public Button_C Right { get; private set; } + public Button_C Down { get; private set; } + public Button_C Left { get; private set; } + public Stick_C LeftStick { get; private set; } + public Stick_C RightStick { get; private set; } + + public PSVController_D(InputResolver resolver) : base(resolver) { } + + protected override List<InputControl_D> DefineControls() + { + List<InputControl_D> result = new List<InputControl_D>(); + + Cross = new Button_C(this, "X"); + Circle = new Button_C(this, "⭕"); + Square = new Button_C(this, "□"); + Triangle = new Button_C(this, "△"); + + L = new Button_C(this, "L"); + R = new Button_C(this, "R"); + + Select = new Button_C(this, "SELECT"); + Start = new Button_C(this, "START"); + + Up = new Button_C(this, "UP"); + Right = new Button_C(this, "RIGHT"); + Down = new Button_C(this, "DOWN"); + Left = new Button_C(this, "LEFT"); + + LeftStick = new Stick_C(this, nameof(LeftStick)); + RightStick = new Stick_C(this, nameof(RightStick)); + + return result; + } + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/PSVController.cs.meta b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/PSVController_D.cs.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/PSVController.cs.meta rename to AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/Devices/PSVController_D.cs.meta diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/InputDevicesManager.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/InputDevicesManager.cs index 7dc4e2de..0de419b2 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/InputDevicesManager.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/InputDevicesManager.cs @@ -6,11 +6,11 @@ namespace AxibugEmuOnline.Client.InputDevices public class InputDevicesManager { InputResolver m_inputResolver = InputResolver.Create(); - Dictionary<string, InputDevice> m_devices = new Dictionary<string, InputDevice>(); + Dictionary<string, InputDevice_D> m_devices = new Dictionary<string, InputDevice_D>(); - public delegate void OnDeviceConnectedHandle(InputDevice connectDevice); + public delegate void OnDeviceConnectedHandle(InputDevice_D connectDevice); public event OnDeviceConnectedHandle OnDeviceConnected; - public delegate void OnDeviceLostHandle(InputDevice lostDevice); + public delegate void OnDeviceLostHandle(InputDevice_D lostDevice); public event OnDeviceLostHandle OnDeviceLost; public InputDevicesManager() @@ -21,23 +21,23 @@ namespace AxibugEmuOnline.Client.InputDevices AddDevice(device); } - private void Resolver_OnDeviceLost(InputDevice lostDevice) + private void Resolver_OnDeviceLost(InputDevice_D lostDevice) { RemoveDevice(lostDevice); } - private void Resolver_OnDeviceConnected(InputDevice connectDevice) + private void Resolver_OnDeviceConnected(InputDevice_D connectDevice) { AddDevice(connectDevice); } - void AddDevice(InputDevice device) + void AddDevice(InputDevice_D device) { m_devices[device.UniqueName] = device; OnDeviceConnected?.Invoke(device); } - void RemoveDevice(InputDevice device) + void RemoveDevice(InputDevice_D device) { m_devices.Remove(device.UniqueName); OnDeviceLost?.Invoke(device); @@ -46,7 +46,7 @@ namespace AxibugEmuOnline.Client.InputDevices /// <summary> /// 获得一个指定类型的设备 /// </summary> - public T GetDevice<T>() where T : InputDevice + public T GetDevice<T>() where T : InputDevice_D { foreach (var d in m_devices.Values) { diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/InputResolver/InputResolver.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/InputResolver/InputResolver.cs index 80692459..ee448e40 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/InputResolver/InputResolver.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/InputResolver/InputResolver.cs @@ -30,40 +30,40 @@ namespace AxibugEmuOnline.Client.InputDevices /// 获得所有当前已连入的输入设备 /// </summary> /// <returns></returns> - public abstract IEnumerable<InputDevice> GetDevices(); + public abstract IEnumerable<InputDevice_D> GetDevices(); /// <summary> /// 检查指定输入设备是否还保持着连接 /// </summary> /// <returns></returns> - public abstract bool CheckOnline(InputDevice device); + public abstract bool CheckOnline(InputDevice_D device); /// <param name="lostDevice">丢失的设备</param> - public delegate void OnDeviceLostHandle(InputDevice lostDevice); + public delegate void OnDeviceLostHandle(InputDevice_D lostDevice); /// <summary> 当设备丢失时触发 </summary> public event OnDeviceLostHandle OnDeviceLost; - protected void RaiseDeviceLost(InputDevice lostDevice) + protected void RaiseDeviceLost(InputDevice_D lostDevice) { OnDeviceLost?.Invoke(lostDevice); } /// <param name="connectDevice">建立连接的设备</param> - public delegate void OnDeviceConnectedHandle(InputDevice connectDevice); + public delegate void OnDeviceConnectedHandle(InputDevice_D connectDevice); /// <summary> 当设备连接时触发 </summary> public event OnDeviceConnectedHandle OnDeviceConnected; - protected void RaiseDeviceConnected(InputDevice connectDevice) + protected void RaiseDeviceConnected(InputDevice_D connectDevice) { OnDeviceConnected?.Invoke(connectDevice); } - public abstract bool CheckPerforming<CONTROLLER>(CONTROLLER control) where CONTROLLER : InputControl; - public abstract Vector2 GetVector2<CONTROLLER>(CONTROLLER control) where CONTROLLER : InputControl; - public abstract float GetFloat<CONTROLLER>(CONTROLLER control) where CONTROLLER : InputControl; + public abstract bool CheckPerforming<CONTROLLER>(CONTROLLER control) where CONTROLLER : InputControl_D; + public abstract Vector2 GetVector2<CONTROLLER>(CONTROLLER control) where CONTROLLER : InputControl_D; + public abstract float GetFloat<CONTROLLER>(CONTROLLER control) where CONTROLLER : InputControl_D; /// <summary> /// 获得输入设备的唯一名称 /// </summary> /// <param name="inputDevice">这个设备必须是由resolver提供,并且保持着连接</param> /// <returns></returns> - public abstract string GetDeviceName(InputDevice inputDevice); + public abstract string GetDeviceName(InputDevice_D inputDevice); } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/InputResolver/InputSystemResolver.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/InputResolver/InputSystemResolver.cs index 9e121552..c8d96634 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/InputResolver/InputSystemResolver.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/InputResolver/InputSystemResolver.cs @@ -1,30 +1,27 @@ #if ENABLE_INPUT_SYSTEM using System.Collections.Generic; using UnityEngine; +using UnityEngine.InputSystem; using UnityEngine.InputSystem.Controls; -using IP = UnityEngine.InputSystem.InputSystem; -using IPDevice = UnityEngine.InputSystem.InputDevice; -using IPKeyboard = UnityEngine.InputSystem.Keyboard; namespace AxibugEmuOnline.Client.InputDevices.ForInputSystem { /// <summary> 基于UnityInputSystem实现的输入解决器 </summary> public class InputSystemResolver : InputResolver { - DualWayDictionary<IPDevice, InputDevice> m_devices = new DualWayDictionary<IPDevice, InputDevice>(); + DualWayDictionary<InputDevice, InputDevice_D> m_devices = new DualWayDictionary<InputDevice, InputDevice_D>(); protected override void OnInit() { - foreach (var device in IP.devices) AddDevice(device); + foreach (var device in InputSystem.devices) AddDevice(device); - IP.onDeviceChange += IP_onDeviceChange; + InputSystem.onDeviceChange += IP_onDeviceChange; } - private void AddDevice(IPDevice ipdev) + private void AddDevice(InputDevice ipdev) { - InputDevice newDevice = null; - if (ipdev is IPKeyboard) newDevice = new KeyBoard(this); - + InputDevice_D newDevice = null; + if (ipdev is Keyboard) newDevice = new Keyboard_D(this); if (newDevice != null) { m_devices.Add(ipdev, newDevice); @@ -32,7 +29,7 @@ namespace AxibugEmuOnline.Client.InputDevices.ForInputSystem } } - private void RemoveDevice(IPDevice ipdev) + private void RemoveDevice(InputDevice ipdev) { if (m_devices.TryGetValue(ipdev, out var device)) { @@ -41,7 +38,7 @@ namespace AxibugEmuOnline.Client.InputDevices.ForInputSystem } } - public override string GetDeviceName(InputDevice inputDevice) + public override string GetDeviceName(InputDevice_D inputDevice) { m_devices.TryGetKey(inputDevice, out var ipdev); Debug.Assert(ipdev != null, "不能对已离线的设备获取名称"); @@ -49,12 +46,12 @@ namespace AxibugEmuOnline.Client.InputDevices.ForInputSystem return $"{ipdev.description.deviceClass}_{ipdev.description.interfaceName}_{ipdev.deviceId}"; } - public override bool CheckOnline(InputDevice device) + public override bool CheckOnline(InputDevice_D device) { return m_devices.TryGetKey(device, out var _); } - private void IP_onDeviceChange(IPDevice device, UnityEngine.InputSystem.InputDeviceChange changeType) + private void IP_onDeviceChange(InputDevice device, UnityEngine.InputSystem.InputDeviceChange changeType) { switch (changeType) { @@ -63,20 +60,20 @@ namespace AxibugEmuOnline.Client.InputDevices.ForInputSystem } } - public override IEnumerable<InputDevice> GetDevices() + public override IEnumerable<InputDevice_D> GetDevices() { return m_devices.Values; } public override bool CheckPerforming<CONTROLLER>(CONTROLLER control) { - if (control.Device is KeyBoard keyboard) + if (control.Device is Keyboard_D keyboard) { - if (control is KeyBoard.KeyboardKey key) + if (control is Keyboard_D.KeyboardKey key) { if (m_devices.TryGetKey(keyboard, out var ipdev)) { - var ipKeyboard = ipdev as IPKeyboard; + var ipKeyboard = ipdev as Keyboard; if (ipKeyboard == null) return false; var k = GetIPKeyboardKey(ipKeyboard, key.m_keycode); @@ -101,7 +98,7 @@ namespace AxibugEmuOnline.Client.InputDevices.ForInputSystem throw new System.NotImplementedException(); } - static ButtonControl GetIPKeyboardKey(IPKeyboard keyboard, KeyCode key) + static ButtonControl GetIPKeyboardKey(Keyboard keyboard, KeyCode key) { switch (key) { diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/InputResolver/PSVResolver.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/InputResolver/PSVResolver.cs index 6f95e0b2..f97a973a 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/InputResolver/PSVResolver.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/InputDevicesManager/InputResolver/PSVResolver.cs @@ -6,35 +6,35 @@ namespace AxibugEmuOnline.Client.InputDevices.ForPSV /// <summary> PSV特化输入解决器,只能用于PSV平台,并且只支持PSV控制器 </summary> public class PSVResolver : InputResolver { - List<InputDevice> m_devices = new List<InputDevice>(); - PSVController m_psvController; + List<InputDevice_D> m_devices = new List<InputDevice_D>(); + PSVController_D m_psvController; protected override void OnInit() { - m_psvController = new PSVController(this); + m_psvController = new PSVController_D(this); m_devices.Add(m_psvController); } - public override IEnumerable<InputDevice> GetDevices() + public override IEnumerable<InputDevice_D> GetDevices() { return m_devices; } - public override bool CheckOnline(InputDevice device) + public override bool CheckOnline(InputDevice_D device) { return device == m_psvController; } - public override string GetDeviceName(InputDevice inputDevice) + public override string GetDeviceName(InputDevice_D inputDevice) { Debug.Assert(inputDevice == m_psvController, "只支持psv控制器"); - return nameof(PSVController); + return nameof(PSVController_D); } public override bool CheckPerforming<CONTROLLER>(CONTROLLER control) { - if (control.Device is PSVController psvCon) + if (control.Device is PSVController_D psvCon) { if (control == psvCon.Cross) return Input.GetKey(KeyCode.Joystick1Button0); else if (control == psvCon.Circle) return Input.GetKey(KeyCode.Joystick1Button1); @@ -60,7 +60,7 @@ namespace AxibugEmuOnline.Client.InputDevices.ForPSV public override Vector2 GetVector2<CONTROLLER>(CONTROLLER control) { - if (control.Device is PSVController psvCon) + if (control.Device is PSVController_D psvCon) { if (control == psvCon.LeftStick) {