Add secondary interface for further abstraction

This commit is contained in:
smoogipoo
2019-08-29 16:26:39 +09:00
parent 7927b684d3
commit 5db813b7a4
4 changed files with 30 additions and 10 deletions

View File

@ -36,7 +36,7 @@ namespace osu.Game.Rulesets.Edit
private readonly DrawableRuleset<TObject> drawableRuleset;
[Resolved]
private EditorBeatmap<TObject> beatmap { get; set; }
private IEditorBeatmap<TObject> beatmap { get; set; }
public DrawableEditRuleset(DrawableRuleset<TObject> drawableRuleset)
{

View File

@ -176,9 +176,6 @@ namespace osu.Game.Rulesets.Edit
where TObject : HitObject
{
private Beatmap<TObject> playableBeatmap;
[Cached]
[Cached(typeof(IEditorBeatmap))]
private EditorBeatmap<TObject> editorBeatmap;
protected HitObjectComposer(Ruleset ruleset)
@ -195,7 +192,11 @@ namespace osu.Game.Rulesets.Edit
editorBeatmap.HitObjectAdded += addHitObject;
editorBeatmap.HitObjectRemoved += removeHitObject;
return base.CreateChildDependencies(parent);
var dependencies = new DependencyContainer(parent);
dependencies.CacheAs<IEditorBeatmap>(editorBeatmap);
dependencies.CacheAs<IEditorBeatmap<TObject>>(editorBeatmap);
return base.CreateChildDependencies(dependencies);
}
private void addHitObject(HitObject hitObject)