1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-13 14:53:21 +08:00

Gamemode -> Ruleset

This commit is contained in:
smoogipoo 2019-06-27 14:53:18 +09:00
parent 2e49b4ffcd
commit 803198ff20
2 changed files with 19 additions and 15 deletions

View File

@ -7,6 +7,10 @@ using osu.Game.Overlays.Profile.Header.Components;
using osuTK.Graphics;
using System;
using System.Collections.Generic;
using osu.Game.Rulesets.Catch;
using osu.Game.Rulesets.Mania;
using osu.Game.Rulesets.Osu;
using osu.Game.Rulesets.Taiko;
namespace osu.Game.Tests.Visual.Online
{
@ -28,11 +32,11 @@ namespace osu.Game.Tests.Visual.Online
Origin = Anchor.Centre,
};
AddStep("set osu! as default", () => selector.SetDefaultGamemode("osu"));
AddStep("set mania as default", () => selector.SetDefaultGamemode("mania"));
AddStep("set taiko as default", () => selector.SetDefaultGamemode("taiko"));
AddStep("set catch as default", () => selector.SetDefaultGamemode("fruits"));
AddStep("select default gamemode", selector.SelectDefaultGamemode);
AddStep("set osu! as default", () => selector.SetDefaultRuleset(new OsuRuleset().RulesetInfo));
AddStep("set mania as default", () => selector.SetDefaultRuleset(new ManiaRuleset().RulesetInfo));
AddStep("set taiko as default", () => selector.SetDefaultRuleset(new TaikoRuleset().RulesetInfo));
AddStep("set catch as default", () => selector.SetDefaultRuleset(new CatchRuleset().RulesetInfo));
AddStep("select default ruleset", selector.SelectDefaultRuleset);
AddStep("set random colour", () => selector.AccentColour = new Color4(RNG.NextSingle(), RNG.NextSingle(), RNG.NextSingle(), 1));
}

View File

@ -14,11 +14,6 @@ namespace osu.Game.Overlays.Profile.Header.Components
{
public class ProfileRulesetSelector : RulesetSelector
{
protected override TabItem<RulesetInfo> CreateTabItem(RulesetInfo value) => new RulesetTabItem(value)
{
AccentColour = AccentColour
};
private Color4 accentColour = Color4.White;
public Color4 AccentColour
@ -51,16 +46,21 @@ namespace osu.Game.Overlays.Profile.Header.Components
AccentColour = colours.Seafoam;
}
public void SetDefaultGamemode(string gamemode)
protected override TabItem<RulesetInfo> CreateTabItem(RulesetInfo value) => new RulesetTabItem(value)
{
AccentColour = AccentColour
};
public void SetDefaultRuleset(RulesetInfo ruleset)
{
// Todo: This method shouldn't exist, but bindables don't provide the concept of observing a change to the default value
foreach (TabItem<RulesetInfo> tabItem in TabContainer)
{
((RulesetTabItem)tabItem).IsDefault = ((RulesetTabItem)tabItem).Value.ShortName == gamemode;
}
((RulesetTabItem)tabItem).IsDefault = ((RulesetTabItem)tabItem).Value.ID == ruleset.ID;
}
public void SelectDefaultGamemode()
public void SelectDefaultRuleset()
{
// Todo: This method shouldn't exist, but bindables don't provide the concept of observing a change to the default value
foreach (TabItem<RulesetInfo> tabItem in TabContainer)
{
if (((RulesetTabItem)tabItem).IsDefault)