OMRReloadSoundCue.cs
using Sandbox;
/// <summary>
/// One timed presentation sound during a weapon reload.
///
/// The cue is authored on OMRWeaponDefinition so the .omrwep remains the
/// canonical presentation source. Runtime weapon components copy these values
/// locally when the definition is applied; they never mutate the asset.
/// </summary>
public record struct OMRReloadSoundCue
{
/// <summary>
/// Seconds after reload start when this sound should play.
/// </summary>
[KeyProperty]
public float Time { get; set; }
/// <summary>
/// SoundEvent played at this point in the reload.
/// </summary>
[Property, KeyProperty]
public SoundEvent Sound { get; set; }
}