osu/osu.Game.Rulesets.Osu/Edit/Blueprints/HitCircles/Components/HitCirclePiece.cs

47 lines
1.3 KiB
C#
Raw Normal View History

// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using osu.Framework.Allocation;
using osu.Framework.Graphics;
2019-09-27 09:01:55 +00:00
using osu.Framework.Graphics.Containers;
using osu.Game.Graphics;
using osu.Game.Rulesets.Osu.Objects;
using osu.Game.Rulesets.Osu.Objects.Drawables.Pieces;
2018-11-20 07:51:59 +00:00
using osuTK;
2018-11-07 07:08:56 +00:00
namespace osu.Game.Rulesets.Osu.Edit.Blueprints.HitCircles.Components
{
2019-09-27 09:01:55 +00:00
public class HitCirclePiece : CompositeDrawable
{
private readonly HitCircle hitCircle;
2018-10-26 04:51:03 +00:00
public HitCirclePiece(HitCircle hitCircle)
{
this.hitCircle = hitCircle;
Origin = Anchor.Centre;
Size = new Vector2(OsuHitObject.OBJECT_RADIUS * 2);
Scale = new Vector2(hitCircle.Scale);
CornerRadius = Size.X / 2;
InternalChild = new RingPiece();
}
[BackgroundDependencyLoader]
private void load(OsuColour colours)
{
Colour = colours.Yellow;
}
protected override void Update()
{
base.Update();
UpdatePosition();
Scale = new Vector2(hitCircle.Scale);
}
protected virtual void UpdatePosition() => Position = hitCircle.StackedPosition;
}
}