1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-27 12:42:54 +08:00

Merge pull request #12284 from bdach/fix-scores-initially-showing

Fix scores being initially visible incorrectly in gameplay screen
This commit is contained in:
Dean Herbert 2021-04-04 19:30:32 +09:00 committed by GitHub
commit f95b91e3b6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 53 additions and 1 deletions

View File

@ -1,9 +1,13 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence. // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text. // See the LICENCE file in the repository root for full licence text.
using System.Linq;
using NUnit.Framework;
using osu.Framework.Allocation; using osu.Framework.Allocation;
using osu.Framework.Testing;
using osu.Game.Tournament.Components; using osu.Game.Tournament.Components;
using osu.Game.Tournament.Screens.Gameplay; using osu.Game.Tournament.Screens.Gameplay;
using osu.Game.Tournament.Screens.Gameplay.Components;
namespace osu.Game.Tournament.Tests.Screens namespace osu.Game.Tournament.Tests.Screens
{ {
@ -18,5 +22,24 @@ namespace osu.Game.Tournament.Tests.Screens
Add(new GameplayScreen()); Add(new GameplayScreen());
Add(chat); Add(chat);
} }
[Test]
public void TestWarmup()
{
checkScoreVisibility(false);
toggleWarmup();
checkScoreVisibility(true);
toggleWarmup();
checkScoreVisibility(false);
}
private void checkScoreVisibility(bool visible)
=> AddUntilStep($"scores {(visible ? "shown" : "hidden")}",
() => this.ChildrenOfType<TeamScore>().All(score => score.Alpha == (visible ? 1 : 0)));
private void toggleWarmup()
=> AddStep("toggle warmup", () => this.ChildrenOfType<TourneyButton>().First().Click());
} }
} }

View File

@ -95,7 +95,11 @@ namespace osu.Game.Tournament.Screens.Gameplay.Components
Origin = Anchor.TopRight, Origin = Anchor.TopRight,
}, },
}; };
}
protected override void LoadComplete()
{
base.LoadComplete();
updateDisplay(); updateDisplay();
} }

View File

@ -14,9 +14,21 @@ namespace osu.Game.Tournament.Screens.Gameplay.Components
{ {
private readonly TeamScore score; private readonly TeamScore score;
private bool showScore;
public bool ShowScore public bool ShowScore
{ {
set => score.FadeTo(value ? 1 : 0, 200); get => showScore;
set
{
if (showScore == value)
return;
showScore = value;
if (IsLoaded)
updateDisplay();
}
} }
public TeamDisplay(TournamentTeam team, TeamColour colour, Bindable<int?> currentTeamScore, int pointsToWin) public TeamDisplay(TournamentTeam team, TeamColour colour, Bindable<int?> currentTeamScore, int pointsToWin)
@ -92,5 +104,18 @@ namespace osu.Game.Tournament.Screens.Gameplay.Components
} }
}; };
} }
protected override void LoadComplete()
{
base.LoadComplete();
updateDisplay();
FinishTransforms(true);
}
private void updateDisplay()
{
score.FadeTo(ShowScore ? 1 : 0, 200);
}
} }
} }