public void HandleEvents() { SystemHandler?.Invoke(); if (!IsEnabled) { return; } LeftAnalogHandler?.Invoke(InputState.LeftAnalogX, InputState.LeftAnalogY, PreviousInputState.LeftAnalogX, PreviousInputState.LeftAnalogY); LeftAnalogButtonHandler?.Invoke(InputState.LeftAnalogPressed, PreviousInputState.LeftAnalogPressed); RightAnalogHandler?.Invoke(InputState.RightAnalogX, InputState.RightAnalogY, PreviousInputState.RightAnalogX, PreviousInputState.RightAnalogY); RightAnalogButtonHandler?.Invoke(InputState.RightAnalogPressed, PreviousInputState.RightAnalogPressed); UpButtonHandler?.Invoke(InputState.UpPressed, PreviousInputState.UpPressed); DownButtonHandler?.Invoke(InputState.DownPressed, PreviousInputState.DownPressed); LeftButtonHandler?.Invoke(InputState.LeftPressed, PreviousInputState.LeftPressed); RightButtonHandler?.Invoke(InputState.RightPressed, PreviousInputState.RightPressed); AButtonHandler?.Invoke(InputState.APressed, PreviousInputState.APressed); BButtonHandler?.Invoke(InputState.BPressed, PreviousInputState.BPressed); XButtonHandler?.Invoke(InputState.XPressed, PreviousInputState.XPressed); YButtonHandler?.Invoke(InputState.YPressed, PreviousInputState.YPressed); LBButtonHandler?.Invoke(InputState.LBPressed, PreviousInputState.LBPressed); LTButtonHandler?.Invoke(InputState.LTPressed > 0, PreviousInputState.LTPressed > 0); RBButtonHandler?.Invoke(InputState.RBPressed, PreviousInputState.RBPressed); RTButtonHandler?.Invoke(InputState.RTPressed > 0, PreviousInputState.RTPressed > 0); StartButtonHandler?.Invoke(InputState.StartPressed, PreviousInputState.StartPressed); BackButtonHandler?.Invoke(InputState.BackPressed, PreviousInputState.BackPressed); }
public void ClearState() { LeftAnalogHandler?.ClearState(); RightAnalogHandler?.ClearState(); foreach (var value in ButtonHandlers.Values) { value.ClearState(); } }