mirror of
https://github.com/osukey/osukey.git
synced 2025-08-07 16:43:52 +09:00
Merge pull request #6692 from peppy/fix-network-stalls
Use LongRunningLoad on network load components
This commit is contained in:
@ -34,6 +34,7 @@ namespace osu.Game.Tests.Visual.Components
|
|||||||
PreviewTrack track = null;
|
PreviewTrack track = null;
|
||||||
|
|
||||||
AddStep("get track", () => track = getOwnedTrack());
|
AddStep("get track", () => track = getOwnedTrack());
|
||||||
|
AddUntilStep("wait loaded", () => track.IsLoaded);
|
||||||
AddStep("start", () => track.Start());
|
AddStep("start", () => track.Start());
|
||||||
AddAssert("started", () => track.IsRunning);
|
AddAssert("started", () => track.IsRunning);
|
||||||
AddStep("stop", () => track.Stop());
|
AddStep("stop", () => track.Stop());
|
||||||
@ -52,6 +53,8 @@ namespace osu.Game.Tests.Visual.Components
|
|||||||
track2 = getOwnedTrack();
|
track2 = getOwnedTrack();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
AddUntilStep("wait loaded", () => track1.IsLoaded && track2.IsLoaded);
|
||||||
|
|
||||||
AddStep("start track 1", () => track1.Start());
|
AddStep("start track 1", () => track1.Start());
|
||||||
AddStep("start track 2", () => track2.Start());
|
AddStep("start track 2", () => track2.Start());
|
||||||
AddAssert("track 1 stopped", () => !track1.IsRunning);
|
AddAssert("track 1 stopped", () => !track1.IsRunning);
|
||||||
@ -64,6 +67,7 @@ namespace osu.Game.Tests.Visual.Components
|
|||||||
PreviewTrack track = null;
|
PreviewTrack track = null;
|
||||||
|
|
||||||
AddStep("get track", () => track = getOwnedTrack());
|
AddStep("get track", () => track = getOwnedTrack());
|
||||||
|
AddUntilStep("wait loaded", () => track.IsLoaded);
|
||||||
AddStep("start", () => track.Start());
|
AddStep("start", () => track.Start());
|
||||||
AddStep("stop by owner", () => trackManager.StopAnyPlaying(this));
|
AddStep("stop by owner", () => trackManager.StopAnyPlaying(this));
|
||||||
AddAssert("stopped", () => !track.IsRunning);
|
AddAssert("stopped", () => !track.IsRunning);
|
||||||
@ -76,6 +80,7 @@ namespace osu.Game.Tests.Visual.Components
|
|||||||
PreviewTrack track = null;
|
PreviewTrack track = null;
|
||||||
|
|
||||||
AddStep("get track", () => Add(owner = new TestTrackOwner(track = getTrack())));
|
AddStep("get track", () => Add(owner = new TestTrackOwner(track = getTrack())));
|
||||||
|
AddUntilStep("wait loaded", () => track.IsLoaded);
|
||||||
AddStep("start", () => track.Start());
|
AddStep("start", () => track.Start());
|
||||||
AddStep("attempt stop", () => trackManager.StopAnyPlaying(this));
|
AddStep("attempt stop", () => trackManager.StopAnyPlaying(this));
|
||||||
AddAssert("not stopped", () => track.IsRunning);
|
AddAssert("not stopped", () => track.IsRunning);
|
||||||
@ -89,16 +94,24 @@ namespace osu.Game.Tests.Visual.Components
|
|||||||
{
|
{
|
||||||
var track = getTrack();
|
var track = getTrack();
|
||||||
|
|
||||||
Add(track);
|
LoadComponentAsync(track, Add);
|
||||||
|
|
||||||
return track;
|
return track;
|
||||||
}
|
}
|
||||||
|
|
||||||
private class TestTrackOwner : CompositeDrawable, IPreviewTrackOwner
|
private class TestTrackOwner : CompositeDrawable, IPreviewTrackOwner
|
||||||
{
|
{
|
||||||
|
private readonly PreviewTrack track;
|
||||||
|
|
||||||
public TestTrackOwner(PreviewTrack track)
|
public TestTrackOwner(PreviewTrack track)
|
||||||
{
|
{
|
||||||
AddInternal(track);
|
this.track = track;
|
||||||
|
}
|
||||||
|
|
||||||
|
[BackgroundDependencyLoader]
|
||||||
|
private void load()
|
||||||
|
{
|
||||||
|
LoadComponentAsync(track, AddInternal);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override IReadOnlyDependencyContainer CreateChildDependencies(IReadOnlyDependencyContainer parent)
|
protected override IReadOnlyDependencyContainer CreateChildDependencies(IReadOnlyDependencyContainer parent)
|
||||||
|
@ -9,6 +9,7 @@ using osu.Framework.Threading;
|
|||||||
|
|
||||||
namespace osu.Game.Audio
|
namespace osu.Game.Audio
|
||||||
{
|
{
|
||||||
|
[LongRunningLoad]
|
||||||
public abstract class PreviewTrack : Component
|
public abstract class PreviewTrack : Component
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -8,6 +8,7 @@ using osu.Framework.Graphics.Textures;
|
|||||||
|
|
||||||
namespace osu.Game.Beatmaps.Drawables
|
namespace osu.Game.Beatmaps.Drawables
|
||||||
{
|
{
|
||||||
|
[LongRunningLoad]
|
||||||
public class BeatmapSetCover : Sprite
|
public class BeatmapSetCover : Sprite
|
||||||
{
|
{
|
||||||
private readonly BeatmapSetInfo set;
|
private readonly BeatmapSetInfo set;
|
||||||
|
@ -13,6 +13,7 @@ using osu.Game.Graphics.Containers;
|
|||||||
|
|
||||||
namespace osu.Game.Users.Drawables
|
namespace osu.Game.Users.Drawables
|
||||||
{
|
{
|
||||||
|
[LongRunningLoad]
|
||||||
public class DrawableAvatar : Container
|
public class DrawableAvatar : Container
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
Reference in New Issue
Block a user