Hook up the event to HitObjectComposer

This commit is contained in:
smoogipoo 2019-10-03 14:40:00 +09:00
parent 3fb0b0b668
commit 2c13043c42

View File

@ -132,6 +132,7 @@ namespace osu.Game.Rulesets.Edit
editorBeatmap = new EditorBeatmap<TObject>(playableBeatmap); editorBeatmap = new EditorBeatmap<TObject>(playableBeatmap);
editorBeatmap.HitObjectAdded += addHitObject; editorBeatmap.HitObjectAdded += addHitObject;
editorBeatmap.HitObjectRemoved += removeHitObject; editorBeatmap.HitObjectRemoved += removeHitObject;
editorBeatmap.StartTimeChanged += updateHitObject;
var dependencies = new DependencyContainer(parent); var dependencies = new DependencyContainer(parent);
dependencies.CacheAs<IEditorBeatmap>(editorBeatmap); dependencies.CacheAs<IEditorBeatmap>(editorBeatmap);
@ -162,12 +163,7 @@ namespace osu.Game.Rulesets.Edit
}); });
} }
private void addHitObject(HitObject hitObject) private void addHitObject(HitObject hitObject) => updateHitObject(hitObject);
{
beatmapProcessor?.PreProcess();
hitObject.ApplyDefaults(playableBeatmap.ControlPointInfo, playableBeatmap.BeatmapInfo.BaseDifficulty);
beatmapProcessor?.PostProcess();
}
private void removeHitObject(HitObject hitObject) private void removeHitObject(HitObject hitObject)
{ {
@ -175,6 +171,13 @@ namespace osu.Game.Rulesets.Edit
beatmapProcessor?.PostProcess(); beatmapProcessor?.PostProcess();
} }
private void updateHitObject(HitObject hitObject)
{
beatmapProcessor?.PreProcess();
hitObject.ApplyDefaults(playableBeatmap.ControlPointInfo, playableBeatmap.BeatmapInfo.BaseDifficulty);
beatmapProcessor?.PostProcess();
}
public override IEnumerable<DrawableHitObject> HitObjects => drawableRulesetWrapper.Playfield.AllHitObjects; public override IEnumerable<DrawableHitObject> HitObjects => drawableRulesetWrapper.Playfield.AllHitObjects;
public override bool CursorInPlacementArea => drawableRulesetWrapper.Playfield.ReceivePositionalInputAt(inputManager.CurrentState.Mouse.Position); public override bool CursorInPlacementArea => drawableRulesetWrapper.Playfield.ReceivePositionalInputAt(inputManager.CurrentState.Mouse.Position);