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

Fix DI regression

This commit is contained in:
Dean Herbert 2018-07-11 17:25:57 +09:00
parent fbc5250bf1
commit 24054246b8
4 changed files with 19 additions and 15 deletions

View File

@ -19,14 +19,14 @@ namespace osu.Game.Rulesets.Mania
} }
[BackgroundDependencyLoader] [BackgroundDependencyLoader]
private void load(ManiaConfigManager config) private void load()
{ {
Children = new Drawable[] Children = new Drawable[]
{ {
new SettingsEnumDropdown<ManiaScrollingDirection> new SettingsEnumDropdown<ManiaScrollingDirection>
{ {
LabelText = "Scrolling direction", LabelText = "Scrolling direction",
Bindable = config.GetBindable<ManiaScrollingDirection>(ManiaSetting.ScrollDirection) Bindable = ((ManiaConfigManager)Config).GetBindable<ManiaScrollingDirection>(ManiaSetting.ScrollDirection)
} }
}; };
} }

View File

@ -70,11 +70,11 @@ namespace osu.Game.Rulesets.Mania.UI
} }
[BackgroundDependencyLoader] [BackgroundDependencyLoader]
private void load(ManiaConfigManager config) private void load()
{ {
BarLines.ForEach(Playfield.Add); BarLines.ForEach(Playfield.Add);
config.BindWith(ManiaSetting.ScrollDirection, configDirection); ((ManiaConfigManager)Config).BindWith(ManiaSetting.ScrollDirection, configDirection);
configDirection.BindValueChanged(d => scrollingInfo.Direction.Value = (ScrollingDirection)d, true); configDirection.BindValueChanged(d => scrollingInfo.Direction.Value = (ScrollingDirection)d, true);
} }

View File

@ -3,6 +3,7 @@
using osu.Framework.Allocation; using osu.Framework.Allocation;
using osu.Game.Rulesets; using osu.Game.Rulesets;
using osu.Game.Rulesets.Configuration;
namespace osu.Game.Overlays.Settings namespace osu.Game.Overlays.Settings
{ {
@ -14,6 +15,8 @@ namespace osu.Game.Overlays.Settings
{ {
private readonly Ruleset ruleset; private readonly Ruleset ruleset;
protected IRulesetConfigManager Config;
protected RulesetSettingsSubsection(Ruleset ruleset) protected RulesetSettingsSubsection(Ruleset ruleset)
{ {
this.ruleset = ruleset; this.ruleset = ruleset;
@ -25,9 +28,9 @@ namespace osu.Game.Overlays.Settings
{ {
dependencies = new DependencyContainer(base.CreateChildDependencies(parent)); dependencies = new DependencyContainer(base.CreateChildDependencies(parent));
var config = dependencies.Get<RulesetConfigCache>().GetConfigFor(ruleset); Config = dependencies.Get<RulesetConfigCache>().GetConfigFor(ruleset);
if (config != null) if (Config != null)
dependencies.Cache(config); dependencies.Cache(Config);
return dependencies; return dependencies;
} }

View File

@ -70,7 +70,8 @@ namespace osu.Game.Rulesets.UI
protected readonly Ruleset Ruleset; protected readonly Ruleset Ruleset;
private IRulesetConfigManager rulesetConfig; protected IRulesetConfigManager Config { get; private set; }
private OnScreenDisplay onScreenDisplay; private OnScreenDisplay onScreenDisplay;
/// <summary> /// <summary>
@ -91,11 +92,11 @@ namespace osu.Game.Rulesets.UI
onScreenDisplay = dependencies.Get<OnScreenDisplay>(); onScreenDisplay = dependencies.Get<OnScreenDisplay>();
rulesetConfig = dependencies.Get<RulesetConfigCache>().GetConfigFor(Ruleset); Config = dependencies.Get<RulesetConfigCache>().GetConfigFor(Ruleset);
if (rulesetConfig != null) if (Config != null)
{ {
dependencies.Cache(rulesetConfig); dependencies.Cache(Config);
onScreenDisplay?.BeginTracking(this, rulesetConfig); onScreenDisplay?.BeginTracking(this, Config);
} }
return dependencies; return dependencies;
@ -143,10 +144,10 @@ namespace osu.Game.Rulesets.UI
{ {
base.Dispose(isDisposing); base.Dispose(isDisposing);
if (rulesetConfig != null) if (Config != null)
{ {
onScreenDisplay?.StopTracking(this, rulesetConfig); onScreenDisplay?.StopTracking(this, Config);
rulesetConfig = null; Config = null;
} }
} }
} }