36 lines
1.0 KiB
C#
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; }
|
|
}
|