Split out IPerformFromScreenRunner to allow for easier testing

This commit is contained in:
Dean Herbert
2022-04-18 17:49:28 +09:00
parent 587f1e2c4f
commit 2202863e1a
7 changed files with 43 additions and 19 deletions

View File

@ -14,6 +14,7 @@ using osu.Game.Database;
using osu.Game.Online.API;
using osu.Game.Online.API.Requests.Responses;
using osu.Game.Online.Spectator;
using osu.Game.Screens;
using osu.Game.Screens.OnlinePlay.Match.Components;
using osu.Game.Screens.Play;
using osu.Game.Users;
@ -106,7 +107,7 @@ namespace osu.Game.Overlays.Dashboard
public readonly APIUser User;
[Resolved(canBeNull: true)]
private OsuGame game { get; set; }
private IPerformFromScreenRunner performer { get; set; }
public PlayingUserPanel(APIUser user)
{
@ -140,7 +141,7 @@ namespace osu.Game.Overlays.Dashboard
Text = "Watch",
Anchor = Anchor.TopCentre,
Origin = Anchor.TopCentre,
Action = () => game?.PerformFromScreen(s => s.Push(new SoloSpectator(User))),
Action = () => performer?.PerformFromScreen(s => s.Push(new SoloSpectator(User))),
Enabled = { Value = User.Id != api.LocalUser.Value.Id }
}
}