From 5b3daed6e8a74d812b9a0ea570113b0d183a956e Mon Sep 17 00:00:00 2001 From: Morilli <35152647+Morilli@users.noreply.github.com> Date: Fri, 20 Sep 2024 12:49:31 +0200 Subject: [PATCH] improve some VirtualPad code --- .../tools/VirtualPads/VirtualPad.cs | 2 +- .../tools/VirtualPads/VirtualpadsTool.cs | 6 +++--- .../VirtualPads/controls/VirtualPadAnalogStick.cs | 14 ++++++-------- .../tools/VirtualPads/controls/VirtualPadButton.cs | 13 ++++--------- 4 files changed, 14 insertions(+), 21 deletions(-) diff --git a/src/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualPad.cs b/src/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualPad.cs index ae9b254f69..2b4a76c926 100644 --- a/src/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualPad.cs +++ b/src/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualPad.cs @@ -131,7 +131,7 @@ namespace BizHawk.Client.EmuHawk Size = UIHelper.Scale(singleAxis.TargetSize) }, AnalogSchema analog => new VirtualPadAnalogStick( - _inputManager, + _inputManager.StickyXorAdapter, _setLastFocusedNUD, analog.Name, analog.SecondaryName, diff --git a/src/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadsTool.cs b/src/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadsTool.cs index 06a05a219d..39a7a88f98 100644 --- a/src/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadsTool.cs +++ b/src/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadsTool.cs @@ -120,7 +120,7 @@ namespace BizHawk.Client.EmuHawk } } - ControllerPanel.Controls.AddRange(padSchemata.Select(s => (Control) new VirtualPad(s, InputManager, SetLastFocusedNUD)).Reverse().ToArray()); + ControllerPanel.Controls.AddRange(padSchemata.Select(Control (s) => new VirtualPad(s, InputManager, SetLastFocusedNUD)).Reverse().ToArray()); } public void ScrollToPadSchema(string padSchemaName) @@ -141,7 +141,7 @@ namespace BizHawk.Client.EmuHawk public override void Restart() { - if (!IsHandleCreated || IsDisposed) + if (!IsActive) { return; } @@ -153,7 +153,7 @@ namespace BizHawk.Client.EmuHawk protected override void UpdateAfter() { - if (!IsHandleCreated || IsDisposed) + if (!IsActive) { return; } diff --git a/src/BizHawk.Client.EmuHawk/tools/VirtualPads/controls/VirtualPadAnalogStick.cs b/src/BizHawk.Client.EmuHawk/tools/VirtualPads/controls/VirtualPadAnalogStick.cs index a7c1ed973f..89b5876b73 100644 --- a/src/BizHawk.Client.EmuHawk/tools/VirtualPads/controls/VirtualPadAnalogStick.cs +++ b/src/BizHawk.Client.EmuHawk/tools/VirtualPads/controls/VirtualPadAnalogStick.cs @@ -10,7 +10,7 @@ namespace BizHawk.Client.EmuHawk { public partial class VirtualPadAnalogStick : UserControl, IVirtualPadControl { - private readonly InputManager _inputManager; + private readonly StickyXorAdapter _stickyXorAdapter; private bool _readonly; private bool _updatingFromAnalog; @@ -24,14 +24,14 @@ namespace BizHawk.Client.EmuHawk private readonly Func RectToPolarHelper; public VirtualPadAnalogStick( - InputManager inputManager, + StickyXorAdapter stickyXorAdapter, EventHandler setLastFocusedNUD, string name, string secondaryName, AxisSpec rangeX, AxisSpec rangeY) { - _inputManager = inputManager; + _stickyXorAdapter = stickyXorAdapter; RangeX = rangeX; RangeY = rangeY; @@ -97,7 +97,7 @@ namespace BizHawk.Client.EmuHawk MaxYNumeric.LostFocus += UnsetLastFocusedNUD; AnalogStick.Init( - _inputManager.StickyXorAdapter, + _stickyXorAdapter, name, RangeX, string.IsNullOrEmpty(secondaryName) ? Name.Replace('X', 'Y') : secondaryName, @@ -138,10 +138,8 @@ namespace BizHawk.Client.EmuHawk { AnalogStick.Clear(fromCallback: true); SetNumericsFromAnalog(); - _inputManager.AutofireStickyXorAdapter.SetSticky(AnalogStick.XName, false); - _inputManager.StickyXorAdapter.Unset(AnalogStick.XName); - _inputManager.AutofireStickyXorAdapter.SetSticky(AnalogStick.YName, false); - _inputManager.StickyXorAdapter.Unset(AnalogStick.YName); + _stickyXorAdapter.Unset(AnalogStick.XName); + _stickyXorAdapter.Unset(AnalogStick.YName); } public void Clear() => AnalogStick.Clear(); diff --git a/src/BizHawk.Client.EmuHawk/tools/VirtualPads/controls/VirtualPadButton.cs b/src/BizHawk.Client.EmuHawk/tools/VirtualPads/controls/VirtualPadButton.cs index 7d620da1a4..03de6452af 100644 --- a/src/BizHawk.Client.EmuHawk/tools/VirtualPads/controls/VirtualPadButton.cs +++ b/src/BizHawk.Client.EmuHawk/tools/VirtualPads/controls/VirtualPadButton.cs @@ -134,20 +134,15 @@ namespace BizHawk.Client.EmuHawk if (RightClicked) { InputManager.AutofireStickyXorAdapter.SetSticky(Name, Checked); - - if (!Checked) - { - Clear(); - } } else { InputManager.StickyXorAdapter.SetSticky(Name, Checked); + } - if (!Checked) - { - Clear(); - } + if (!Checked) + { + Clear(); } base.OnCheckedChanged(e);