velox/Code/Utils/EngineStream/EngineStream.cs
2025-06-11 20:19:35 +07:00

36 lines
1.0 KiB
C#

using Sandbox;
using System.Collections.Generic;
using VeloX.Audio;
namespace VeloX;
[GameResource( "Engine Stream", "engstr", "Engine Sound", Category = "VeloX", Icon = "time_to_leave" )]
public sealed class EngineStream : GameResource
{
public sealed class Layer
{
[Property,
Title( "Sound File" ),
Description( "Sound asset for this layer" )]
public SoundFile AudioPath { get; set; }
[Property, Title( "Use Redline Effect" ),
Description( "Enable RPM-based vibration effect" )]
public bool UseRedline { get; set; } = true;
[Property, Title( "Controllers" ),
Description( "Audio parameter controllers" )]
public List<Controller> Controllers { get; set; }
[Property, Title( "Is Muted" )]
public bool IsMuted { get; set; }
}
[Property, Title( "Stream Parameters" ),
Description( "Global engine sound parameters" )]
public StreamParameters Parameters { get; set; }
[Property, Title( "Sound Layers" ),
Description( "Individual sound layers" )]
public Dictionary<string, Layer> Layers { get; set; }
}