Clean up callback spaghetti when resetting `VirtualPadAnalogStick`
This commit is contained in:
parent
41de03e31c
commit
b7ffa811bf
|
@ -129,15 +129,12 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
public void ClearCallback()
|
||||
{
|
||||
ManualX.Value = 0;
|
||||
ManualY.Value = 0;
|
||||
manualR.Value = 0;
|
||||
manualTheta.Value = 0;
|
||||
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);
|
||||
AnalogStick.HasValue = false;
|
||||
}
|
||||
|
||||
public void Clear() => AnalogStick.Clear();
|
||||
|
|
|
@ -257,12 +257,12 @@ namespace BizHawk.Client.EmuHawk
|
|||
Refresh();
|
||||
}
|
||||
|
||||
public void Clear()
|
||||
public void Clear(bool fromCallback = false)
|
||||
{
|
||||
if (!HasValue && X == 0 && Y == 0) return;
|
||||
X = Y = 0;
|
||||
HasValue = false;
|
||||
ClearCallback?.Invoke();
|
||||
if (!fromCallback) ClearCallback?.Invoke();
|
||||
Refresh();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue