MusicManager.cs
using Sandbox;
public class MusicManager : Component
{
public static MusicManager Instance { get; private set; }
[Property] public SoundEvent MusicSound { get; set; }
private SoundHandle _musicHandle;
protected override void OnStart()
{
Instance = this;
if ( PushHud.EnableMusic )
{
PlayMusic();
}
}
public void ToggleMusic( bool enable )
{
if ( enable )
{
PlayMusic();
}
else
{
StopMusic();
}
}
public void PlayMusic()
{
if ( _musicHandle.IsValid() ) return;
if ( MusicSound != null )
{
_musicHandle = Sound.Play( MusicSound );
}
}
public void StopMusic()
{
if ( _musicHandle.IsValid() )
{
_musicHandle.Stop();
}
}
}