private readonly AudioParams _lobbyParams = new(-5f, 1, "Master", 0, 0, 0, true, 0f);
- public EntityUid? LobbyStream;
+ public EntityUid? LobbyMusicStream;
+ public EntityUid? LobbyRoundRestartAudioStream;
public override void Initialize()
{
public void StartLobbyMusic()
{
- if (LobbyStream != null || !_configManager.GetCVar(CCVars.LobbyMusicEnabled))
+ if (LobbyMusicStream != null || !_configManager.GetCVar(CCVars.LobbyMusicEnabled))
return;
var file = _gameTicker.LobbySong;
return;
}
- LobbyStream = _audio.PlayGlobal(file, Filter.Local(), false,
+ LobbyMusicStream = _audio.PlayGlobal(
+ file,
+ Filter.Local(),
+ false,
_lobbyParams.WithVolume(_lobbyParams.Volume + SharedAudioSystem.GainToVolume(_configManager.GetCVar(CCVars.LobbyMusicVolume))))?.Entity;
}
private void EndLobbyMusic()
{
- LobbyStream = _audio.Stop(LobbyStream);
+ LobbyMusicStream = _audio.Stop(LobbyMusicStream);
}
private void PlayRestartSound(RoundRestartCleanupEvent ev)
return;
}
- var volume = _lobbyParams.WithVolume(_lobbyParams.Volume +
- SharedAudioSystem.GainToVolume(
- _configManager.GetCVar(CCVars.LobbyMusicVolume)));
-
- _audio.PlayGlobal(file, Filter.Local(), false, volume);
+ LobbyRoundRestartAudioStream = _audio.PlayGlobal(
+ file,
+ Filter.Local(),
+ false,
+ _lobbyParams.WithVolume(_lobbyParams.Volume + SharedAudioSystem.GainToVolume(_configManager.GetCVar(CCVars.LobbyMusicVolume)))
+ )?.Entity;
}
}
_fadingOut.Clear();
// Preserve lobby music but everything else should get dumped.
- var lobbyStream = EntityManager.System<BackgroundAudioSystem>().LobbyStream;
- TryComp(lobbyStream, out AudioComponent? audioComp);
- var oldGain = audioComp?.Gain;
+ var lobbyMusic = EntityManager.System<BackgroundAudioSystem>().LobbyMusicStream;
+ TryComp(lobbyMusic, out AudioComponent? lobbyMusicComp);
+ var oldMusicGain = lobbyMusicComp?.Gain;
+
+ var restartAudio = EntityManager.System<BackgroundAudioSystem>().LobbyRoundRestartAudioStream;
+ TryComp(restartAudio, out AudioComponent? restartComp);
+ var oldAudioGain = restartComp?.Gain;
SilenceAudio();
- if (oldGain != null)
+ if (oldMusicGain != null)
+ {
+ Audio.SetGain(lobbyMusic, oldMusicGain.Value, lobbyMusicComp);
+ }
+
+ if (oldAudioGain != null)
{
- Audio.SetGain(lobbyStream, oldGain.Value, audioComp);
+ Audio.SetGain(restartAudio, oldAudioGain.Value, restartComp);
}
}
{
[Dependency] private readonly IStateManager _stateManager = default!;
[Dependency] private readonly IEntityManager _entityManager = default!;
- [Dependency] private readonly IConfigurationManager _configManager = default!;
- [Dependency] private readonly SharedAudioSystem _audio = default!;
[ViewVariables] private bool _initialized;
private Dictionary<NetEntity, Dictionary<string, uint?>> _jobsAvailable = new();
{
_playerGameStatuses[session.UserId] = LobbyEnabled ? PlayerGameStatus.NotReadyToPlay : PlayerGameStatus.ReadyToPlay;
}
-
- // Put a bangin' donk on it.
- _audio.PlayGlobal(_audio.GetSound(new SoundCollectionSpecifier("RoundEnd")), Filter.Broadcast(), true);
}
public bool DelayStart(TimeSpan time)