Rename FinishCountdown() -> SkipToEndOfCountdown()

This commit is contained in:
Dan Balasescu 2022-03-24 15:21:46 +09:00
parent d2ecc100e5
commit f0d132b16e
2 changed files with 11 additions and 7 deletions

View File

@ -86,7 +86,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
}); });
AddAssert("countdown button not visible", () => !this.ChildrenOfType<MultiplayerCountdownButton>().Single().IsPresent); AddAssert("countdown button not visible", () => !this.ChildrenOfType<MultiplayerCountdownButton>().Single().IsPresent);
AddStep("finish countdown", () => MultiplayerClient.FinishCountdown()); AddStep("finish countdown", () => MultiplayerClient.SkipToEndOfCountdown());
AddUntilStep("match started", () => MultiplayerClient.LocalUser?.State == MultiplayerUserState.WaitingForLoad); AddUntilStep("match started", () => MultiplayerClient.LocalUser?.State == MultiplayerUserState.WaitingForLoad);
} }
@ -105,7 +105,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
ClickButtonWhenEnabled<MultiplayerReadyButton>(); ClickButtonWhenEnabled<MultiplayerReadyButton>();
AddStep("finish countdown", () => MultiplayerClient.FinishCountdown()); AddStep("finish countdown", () => MultiplayerClient.SkipToEndOfCountdown());
AddUntilStep("match not started", () => MultiplayerClient.LocalUser?.State == MultiplayerUserState.Ready); AddUntilStep("match not started", () => MultiplayerClient.LocalUser?.State == MultiplayerUserState.Ready);
} }
@ -159,7 +159,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
AddStep("set spectating", () => MultiplayerClient.ChangeUserState(API.LocalUser.Value.OnlineID, MultiplayerUserState.Spectating)); AddStep("set spectating", () => MultiplayerClient.ChangeUserState(API.LocalUser.Value.OnlineID, MultiplayerUserState.Spectating));
AddUntilStep("local user is spectating", () => MultiplayerClient.LocalUser?.State == MultiplayerUserState.Spectating); AddUntilStep("local user is spectating", () => MultiplayerClient.LocalUser?.State == MultiplayerUserState.Spectating);
AddStep("finish countdown", () => MultiplayerClient.FinishCountdown()); AddStep("finish countdown", () => MultiplayerClient.SkipToEndOfCountdown());
AddUntilStep("match not started", () => MultiplayerClient.Room?.State == MultiplayerRoomState.Open); AddUntilStep("match not started", () => MultiplayerClient.Room?.State == MultiplayerRoomState.Open);
} }

View File

@ -296,11 +296,15 @@ namespace osu.Game.Tests.Visual.Multiplayer
return Task.CompletedTask; return Task.CompletedTask;
} }
private CancellationTokenSource? countdownFinishSource; private CancellationTokenSource? countdownSkipSource;
private CancellationTokenSource? countdownStopSource; private CancellationTokenSource? countdownStopSource;
private Task countdownTask = Task.CompletedTask; private Task countdownTask = Task.CompletedTask;
public void FinishCountdown() => countdownFinishSource?.Cancel(); /// <summary>
/// Skips to the end of the currently-running countdown, if one is running,
/// and runs the callback (e.g. to start the match) as soon as possible unless the countdown has been cancelled.
/// </summary>
public void SkipToEndOfCountdown() => countdownSkipSource?.Cancel();
public override async Task SendMatchRequest(MatchUserRequest request) public override async Task SendMatchRequest(MatchUserRequest request)
{ {
@ -313,8 +317,8 @@ namespace osu.Game.Tests.Visual.Multiplayer
countdownStopSource?.Cancel(); countdownStopSource?.Cancel();
var stopSource = countdownStopSource = new CancellationTokenSource(); var stopSource = countdownStopSource = new CancellationTokenSource();
var finishSource = countdownFinishSource = new CancellationTokenSource(); var skipSource = countdownSkipSource = new CancellationTokenSource();
var cancellationSource = CancellationTokenSource.CreateLinkedTokenSource(stopSource.Token, finishSource.Token); var cancellationSource = CancellationTokenSource.CreateLinkedTokenSource(stopSource.Token, skipSource.Token);
var countdown = new MatchStartCountdown { TimeRemaining = matchCountdownRequest.Duration }; var countdown = new MatchStartCountdown { TimeRemaining = matchCountdownRequest.Duration };
Task lastCountdownTask = countdownTask; Task lastCountdownTask = countdownTask;