44 lines
1.1 KiB
C#
44 lines
1.1 KiB
C#
using Sandbox;
|
|
|
|
namespace VeloX;
|
|
public class InputResolver
|
|
{
|
|
public Connection Driver { get; internal set; }
|
|
|
|
private bool IsDriverActive => Driver is not null;
|
|
|
|
public Vector2 MouseDelta => IsDriverActive ? Input.MouseDelta : default;
|
|
public Vector2 MouseWheel => IsDriverActive ? Input.MouseWheel : default;
|
|
public Angles AnalogLook => IsDriverActive ? Input.AnalogLook : default;
|
|
public Vector3 AnalogMove => IsDriverActive ? Input.AnalogMove : default;
|
|
|
|
public bool Down( string action )
|
|
{
|
|
return IsDriverActive && Input.Down( action );
|
|
}
|
|
|
|
public bool Pressed( string action )
|
|
{
|
|
return IsDriverActive && Input.Pressed( action );
|
|
}
|
|
|
|
public bool Released( string action )
|
|
{
|
|
return IsDriverActive && Input.Released( action );
|
|
}
|
|
|
|
public void TriggerHaptics( float leftMotor, float rightMotor, float leftTrigger = 0f, float rightTrigger = 0f, int duration = 500 )
|
|
{
|
|
if ( IsDriverActive )
|
|
{
|
|
Input.TriggerHaptics( leftMotor, rightMotor, leftTrigger, rightTrigger, duration );
|
|
}
|
|
}
|
|
|
|
public void StopAllHaptics()
|
|
{
|
|
if ( IsDriverActive )
|
|
Input.StopAllHaptics();
|
|
}
|
|
}
|