private void ApplyDeadZone(GamepadDeadZoneMode deadZoneMode) { switch (deadZoneMode) { case GamepadDeadZoneMode.None: break; case GamepadDeadZoneMode.IndependentAxis: Left = ExcludeIndependentAxisDeadZone(Left, LeftThumbDeadZone); Right = ExcludeIndependentAxisDeadZone(Right, RightThumbDeadZone); break; case GamepadDeadZoneMode.Circular: Left = ExcludeCircularDeadZone(Left, LeftThumbDeadZone); Right = ExcludeCircularDeadZone(Right, RightThumbDeadZone); break; } }
public GamepadThumbsticks(Vector2 left, Vector2 right, GamepadDeadZoneMode deadZoneMode) { Left = left; Right = right; DirectionalState = 0; ApplyDeadZone(deadZoneMode); if (deadZoneMode == GamepadDeadZoneMode.Circular) { ApplyCircularClamp(); } else { ApplySquareClamp(); } SetDirectionalState(Left, Right); }