1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-20 08:12: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]
private void load(ManiaConfigManager config)
private void load()
{
Children = new Drawable[]
{
new SettingsEnumDropdown<ManiaScrollingDirection>
{
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]
private void load(ManiaConfigManager config)
private void load()
{
BarLines.ForEach(Playfield.Add);
config.BindWith(ManiaSetting.ScrollDirection, configDirection);
((ManiaConfigManager)Config).BindWith(ManiaSetting.ScrollDirection, configDirection);
configDirection.BindValueChanged(d => scrollingInfo.Direction.Value = (ScrollingDirection)d, true);
}

View File

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

View File

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