Fix audio fades (#23684)

Audio refactor casualty
This commit is contained in:
metalgearsloth
2024-01-08 00:23:22 +11:00
committed by GitHub
parent 5d1fcf9dff
commit bc07cbc97c
2 changed files with 5 additions and 5 deletions

View File

@@ -26,7 +26,6 @@ public sealed partial class ContentAudioSystem
[Dependency] private readonly IGameTiming _timing = default!; [Dependency] private readonly IGameTiming _timing = default!;
[Dependency] private readonly IPlayerManager _player = default!; [Dependency] private readonly IPlayerManager _player = default!;
[Dependency] private readonly IPrototypeManager _proto = default!; [Dependency] private readonly IPrototypeManager _proto = default!;
[Dependency] private readonly IResourceCache _resource = default!;
[Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly IStateManager _state = default!; [Dependency] private readonly IStateManager _state = default!;
[Dependency] private readonly RulesSystem _rules = default!; [Dependency] private readonly RulesSystem _rules = default!;
@@ -153,8 +152,7 @@ public sealed partial class ContentAudioSystem
// Update still runs in lobby so just ignore it. // Update still runs in lobby so just ignore it.
if (_state.CurrentState is not GameplayState) if (_state.CurrentState is not GameplayState)
{ {
Audio.Stop(_ambientMusicStream); _ambientMusicStream = Audio.Stop(_ambientMusicStream);
_ambientMusicStream = null;
_musicProto = null; _musicProto = null;
return; return;
} }

View File

@@ -118,7 +118,8 @@ public sealed partial class ContentAudioSystem : SharedContentAudioSystem
} }
var volume = component.Volume - change * frameTime; var volume = component.Volume - change * frameTime;
component.Volume = MathF.Max(MinVolume, volume); volume = MathF.Max(MinVolume, volume);
_audio.SetVolume(stream, volume, component);
if (component.Volume.Equals(MinVolume)) if (component.Volume.Equals(MinVolume))
{ {
@@ -144,7 +145,8 @@ public sealed partial class ContentAudioSystem : SharedContentAudioSystem
} }
var volume = component.Volume + change * frameTime; var volume = component.Volume + change * frameTime;
component.Volume = MathF.Min(target, volume); volume = MathF.Max(target, volume);
_audio.SetVolume(stream, volume, component);
if (component.Volume.Equals(target)) if (component.Volume.Equals(target))
{ {