From e1db2bbc25d0777a4fab8224b882e65a16dfd4b6 Mon Sep 17 00:00:00 2001 From: smoogipoo Date: Wed, 3 Oct 2018 14:35:26 +0900 Subject: [PATCH] Split visuals of HitCircleSelectionMask into HitCircleMask --- .../Edit/Masks/HitCircleMask.cs | 35 +++++++++++++++++++ .../Edit/Masks/HitCircleSelectionMask.cs | 18 ++-------- 2 files changed, 38 insertions(+), 15 deletions(-) create mode 100644 osu.Game.Rulesets.Osu/Edit/Masks/HitCircleMask.cs diff --git a/osu.Game.Rulesets.Osu/Edit/Masks/HitCircleMask.cs b/osu.Game.Rulesets.Osu/Edit/Masks/HitCircleMask.cs new file mode 100644 index 0000000000..76f876fb42 --- /dev/null +++ b/osu.Game.Rulesets.Osu/Edit/Masks/HitCircleMask.cs @@ -0,0 +1,35 @@ +// Copyright (c) 2007-2018 ppy Pty Ltd . +// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +using osu.Framework.Allocation; +using osu.Framework.Graphics; +using osu.Framework.Graphics.Containers; +using osu.Game.Graphics; +using osu.Game.Rulesets.Osu.Objects; +using osu.Game.Rulesets.Osu.Objects.Drawables.Pieces; +using OpenTK; + +namespace osu.Game.Rulesets.Osu.Edit.Masks +{ + public class HitCircleMask : CompositeDrawable + { + public HitCircleMask(HitCircle hitCircle) + { + Anchor = Anchor.Centre; + Origin = Anchor.Centre; + + Size = new Vector2((float)OsuHitObject.OBJECT_RADIUS * 2); + Scale = new Vector2(hitCircle.Scale); + + CornerRadius = Size.X / 2; + + AddInternal(new RingPiece()); + } + + [BackgroundDependencyLoader] + private void load(OsuColour colours) + { + Colour = colours.Yellow; + } + } +} diff --git a/osu.Game.Rulesets.Osu/Edit/Masks/HitCircleSelectionMask.cs b/osu.Game.Rulesets.Osu/Edit/Masks/HitCircleSelectionMask.cs index 6c96b40b33..b9ca95b837 100644 --- a/osu.Game.Rulesets.Osu/Edit/Masks/HitCircleSelectionMask.cs +++ b/osu.Game.Rulesets.Osu/Edit/Masks/HitCircleSelectionMask.cs @@ -1,12 +1,10 @@ // Copyright (c) 2007-2018 ppy Pty Ltd . // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework.Allocation; using osu.Framework.Graphics; -using osu.Game.Graphics; using osu.Game.Rulesets.Edit; +using osu.Game.Rulesets.Osu.Objects; using osu.Game.Rulesets.Osu.Objects.Drawables; -using osu.Game.Rulesets.Osu.Objects.Drawables.Pieces; namespace osu.Game.Rulesets.Osu.Edit.Masks { @@ -16,22 +14,12 @@ public HitCircleSelectionMask(DrawableHitCircle hitCircle) : base(hitCircle) { Origin = Anchor.Centre; - + AutoSizeAxes = Axes.Both; Position = hitCircle.Position; - Size = hitCircle.Size; - Scale = hitCircle.Scale; - CornerRadius = Size.X / 2; - - AddInternal(new RingPiece()); + InternalChild = new HitCircleMask((HitCircle)hitCircle.HitObject); hitCircle.HitObject.PositionChanged += _ => Position = hitCircle.Position; } - - [BackgroundDependencyLoader] - private void load(OsuColour colours) - { - Colour = colours.Yellow; - } } }