mirror of
https://github.com/osukey/osukey.git
synced 2025-07-02 00:40:09 +09:00
Rewrite PreviewTrackManager
to avoid constructing TrackBass
locally
This paves the way for the framework code quality change (https://github.com/ppy/osu-framework/pull/4873) which stops exposing the constructor. Most of the restructuring here is required to give `PreviewTrackManager` an adjustable target to apply the global mute.
This commit is contained in:
@ -13,10 +13,17 @@ namespace osu.Game.Tests.Visual.Components
|
||||
{
|
||||
public class TestScenePreviewTrackManager : OsuTestScene, IPreviewTrackOwner
|
||||
{
|
||||
private readonly TestPreviewTrackManager trackManager = new TestPreviewTrackManager();
|
||||
private readonly IAdjustableAudioComponent gameTrackAudio = new AudioAdjustments();
|
||||
|
||||
private readonly TestPreviewTrackManager trackManager;
|
||||
|
||||
private AudioManager audio;
|
||||
|
||||
public TestScenePreviewTrackManager()
|
||||
{
|
||||
trackManager = new TestPreviewTrackManager(gameTrackAudio);
|
||||
}
|
||||
|
||||
protected override IReadOnlyDependencyContainer CreateChildDependencies(IReadOnlyDependencyContainer parent)
|
||||
{
|
||||
var dependencies = new DependencyContainer(base.CreateChildDependencies(parent));
|
||||
@ -151,19 +158,19 @@ namespace osu.Game.Tests.Visual.Components
|
||||
audio.VolumeTrack.Value = 1;
|
||||
});
|
||||
|
||||
AddAssert("game not muted", () => audio.Tracks.AggregateVolume.Value != 0);
|
||||
AddAssert("game not muted", () => gameTrackAudio.AggregateVolume.Value != 0);
|
||||
|
||||
AddStep("get track", () => Add(owner = new TestTrackOwner(track = getTrack())));
|
||||
AddUntilStep("wait loaded", () => track.IsLoaded);
|
||||
AddStep("start track", () => track.Start());
|
||||
AddAssert("game is muted", () => audio.Tracks.AggregateVolume.Value == 0);
|
||||
AddAssert("game is muted", () => gameTrackAudio.AggregateVolume.Value == 0);
|
||||
|
||||
if (stopAnyPlaying)
|
||||
AddStep("stop any playing", () => trackManager.StopAnyPlaying(owner));
|
||||
else
|
||||
AddStep("stop track", () => track.Stop());
|
||||
|
||||
AddAssert("game not muted", () => audio.Tracks.AggregateVolume.Value != 0);
|
||||
AddAssert("game not muted", () => gameTrackAudio.AggregateVolume.Value != 0);
|
||||
}
|
||||
|
||||
[Test]
|
||||
@ -224,6 +231,11 @@ namespace osu.Game.Tests.Visual.Components
|
||||
|
||||
public new PreviewTrack CurrentTrack => base.CurrentTrack;
|
||||
|
||||
public TestPreviewTrackManager(IAdjustableAudioComponent mainTrackAdjustments)
|
||||
: base(mainTrackAdjustments)
|
||||
{
|
||||
}
|
||||
|
||||
protected override TrackManagerPreviewTrack CreatePreviewTrack(IBeatmapSetInfo beatmapSetInfo, ITrackStore trackStore) => new TestPreviewTrack(beatmapSetInfo, trackStore);
|
||||
|
||||
public override bool UpdateSubTree()
|
||||
|
Reference in New Issue
Block a user