Privatise game ruleset and access via DI

Also decouples the bindable at SongSelect, where it is debounced in line with the carousel being updated.
This commit is contained in:
Dean Herbert
2018-06-26 16:32:20 +09:00
parent a8579c49f9
commit b0a1b25983
9 changed files with 39 additions and 37 deletions

View File

@ -52,7 +52,7 @@ namespace osu.Game.Overlays.Mods
}
[BackgroundDependencyLoader(permitNulls: true)]
private void load(OsuColour colours, OsuGame osu, RulesetStore rulesets, AudioManager audio)
private void load(OsuColour colours, Bindable<RulesetInfo> ruleset, RulesetStore rulesets, AudioManager audio)
{
SelectedMods.ValueChanged += selectedModsChanged;
@ -60,8 +60,8 @@ namespace osu.Game.Overlays.Mods
HighMultiplierColour = colours.Green;
UnrankedLabel.Colour = colours.Blue;
if (osu != null)
Ruleset.BindTo(osu.Ruleset);
if (ruleset != null)
Ruleset.BindTo(ruleset);
else
Ruleset.Value = rulesets.AvailableRulesets.First();