1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-20 05:56:42 +08:00

Fix OverlayRulesetSelector don't have default colour

This commit is contained in:
Andrei Zavatski 2020-01-01 23:14:26 +03:00
parent b016238c16
commit 2d6a07e970
2 changed files with 25 additions and 18 deletions

View File

@ -25,6 +25,9 @@ namespace osu.Game.Tests.Visual.UserInterface
typeof(OverlayRulesetTabItem),
};
[Resolved]
private OsuColour colours { get; set; }
private readonly OverlayRulesetSelector selector;
private readonly Bindable<RulesetInfo> ruleset = new Bindable<RulesetInfo>();
@ -38,31 +41,27 @@ namespace osu.Game.Tests.Visual.UserInterface
});
}
[BackgroundDependencyLoader]
private void load(OsuColour colours)
{
selector.AccentColour = colours.Lime;
}
[Test]
public void TestSelection()
{
var osuRuleset = new OsuRuleset().RulesetInfo;
var maniaRuleset = new ManiaRuleset().RulesetInfo;
var taikoRuleset = new TaikoRuleset().RulesetInfo;
var catchRuleset = new CatchRuleset().RulesetInfo;
AddStep("Select osu!", () => ruleset.Value = new OsuRuleset().RulesetInfo);
AddAssert("Check osu! selected", () => selector.Current.Value.Equals(new OsuRuleset().RulesetInfo));
AddStep("Select osu!", () => ruleset.Value = osuRuleset);
AddAssert("Check osu! selected", () => selector.Current.Value == osuRuleset);
AddStep("Select mania", () => ruleset.Value = new ManiaRuleset().RulesetInfo);
AddAssert("Check mania selected", () => selector.Current.Value.Equals(new ManiaRuleset().RulesetInfo));
AddStep("Select mania", () => ruleset.Value = maniaRuleset);
AddAssert("Check mania selected", () => selector.Current.Value == maniaRuleset);
AddStep("Select taiko", () => ruleset.Value = new TaikoRuleset().RulesetInfo);
AddAssert("Check taiko selected", () => selector.Current.Value.Equals(new TaikoRuleset().RulesetInfo));
AddStep("Select taiko", () => ruleset.Value = taikoRuleset);
AddAssert("Check taiko selected", () => selector.Current.Value == taikoRuleset);
AddStep("Select catch", () => ruleset.Value = new CatchRuleset().RulesetInfo);
AddAssert("Check catch selected", () => selector.Current.Value.Equals(new CatchRuleset().RulesetInfo));
}
AddStep("Select catch", () => ruleset.Value = catchRuleset);
AddAssert("Check catch selected", () => selector.Current.Value == catchRuleset);
[Test]
public void TestColours()
{
AddStep("Set colour to blue", () => selector.AccentColour = colours.Blue);
AddAssert("Check colour is blue", () => selector.AccentColour == colours.Blue);
}
}
}

View File

@ -1,6 +1,7 @@
// 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.
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.UserInterface;
@ -32,6 +33,13 @@ namespace osu.Game.Overlays
AutoSizeAxes = Axes.Both;
}
[BackgroundDependencyLoader]
private void load(OsuColour colours)
{
if (accentColour == default)
AccentColour = colours.Pink;
}
protected override TabItem<RulesetInfo> CreateTabItem(RulesetInfo value) => new OverlayRulesetTabItem(value);
protected override TabFillFlowContainer CreateTabFlow() => new TabFillFlowContainer