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 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 Layers { get; set; } }