From a303bf71cf5a26b1b181865bab4a2f9830823fdb Mon Sep 17 00:00:00 2001 From: smoogipoo Date: Mon, 11 Dec 2017 22:19:02 +0900 Subject: [PATCH] Give control over screen space conversion to DrawableHitObject --- osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs | 2 +- osu.Game/Rulesets/Edit/Layers/Selection/DragSelector.cs | 3 +-- osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs | 6 +++--- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs index 7e6892e70b..42f54af801 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs @@ -167,7 +167,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables public Drawable ProxiedLayer => initialCircle.ApproachCircle; - public override Vector2 SelectionPoint => body.Position; + public override Vector2 SelectionPoint => ToScreenSpace(body.Position); public override Quad SelectionQuad => body.PathDrawQuad; } diff --git a/osu.Game/Rulesets/Edit/Layers/Selection/DragSelector.cs b/osu.Game/Rulesets/Edit/Layers/Selection/DragSelector.cs index 1e86988c01..54d5a959a8 100644 --- a/osu.Game/Rulesets/Edit/Layers/Selection/DragSelector.cs +++ b/osu.Game/Rulesets/Edit/Layers/Selection/DragSelector.cs @@ -115,8 +115,7 @@ namespace osu.Game.Rulesets.Edit.Layers.Selection if (!obj.IsAlive || !obj.IsPresent) continue; - var objectPosition = obj.ToScreenSpace(obj.SelectionPoint); - if (ScreenSpaceDrawQuad.Contains(objectPosition)) + if (ScreenSpaceDrawQuad.Contains(obj.SelectionPoint)) capturedHitObjects.Add(obj); } } diff --git a/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs b/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs index 834bfd53a2..57db36fda5 100644 --- a/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs +++ b/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs @@ -42,12 +42,12 @@ namespace osu.Game.Rulesets.Objects.Drawables } /// - /// The local point that causes this to be selected in the Editor. + /// The screen-space point that causes this to be selected in the Editor. /// - public virtual Vector2 SelectionPoint => DrawSize / 2f; + public virtual Vector2 SelectionPoint => ScreenSpaceDrawQuad.Centre; /// - /// The local rectangle that outlines this for selections in the Editor. + /// The screen-space quad that outlines this for selections in the Editor. /// public virtual Quad SelectionQuad => ScreenSpaceDrawQuad; }