using Sandbox;

namespace VeloX;

public sealed class StreamParameters
{
	[Property, Range( 0.1f, 2.0f ), Description( "Base pitch multiplier" )]
	public float Pitch { get; set; } = 1.0f;

	[Property, Range( 0.0f, 2.0f ), Description( "Base volume level" )]
	public float Volume { get; set; } = 1.0f;

	[Property, Range( 1f, 100f ), Description( "Vibration frequency at max RPM" )]
	public float RedlineFrequency { get; set; } = 55.0f;

	[Property, Range( 0.0f, 1.0f ), Description( "Vibration intensity at max RPM" )]
	public float RedlineStrength { get; set; } = 0.2f;

	[Property, Range( 1f, 50f ), Description( "Idle vibration frequency" )]
	public float WobbleFrequency { get; set; } = 25.0f;

	[Property, Range( 0.0f, 0.5f ), Description( "Idle vibration intensity" )]
	public float WobbleStrength { get; set; } = 0.13f;
}
