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; }
}