// Copyright (c) 2007-2017 ppy Pty Ltd . // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using OpenTK; using osu.Framework.Allocation; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Textures; using osu.Framework.Graphics.Transformations; namespace osu.Game.Modes.Osu.Objects.Drawables.Connections { public class FollowPoint : Container { private Sprite followPoint; public double StartTime; public double EndTime; public Vector2 EndPosition; public FollowPoint() { Origin = Anchor.Centre; Alpha = 0; Children = new Drawable[] { followPoint = new Sprite { Size = new Vector2(12f), Origin = Anchor.Centre, BlendingMode = BlendingMode.Additive, Alpha = 0.5f }, }; } protected override void LoadComplete() { base.LoadComplete(); Delay(StartTime); FadeIn(DrawableOsuHitObject.TIME_FADEIN); ScaleTo(1.5f); ScaleTo(1, DrawableOsuHitObject.TIME_FADEIN, EasingTypes.Out); MoveTo(EndPosition, DrawableOsuHitObject.TIME_FADEIN, EasingTypes.Out); Delay(EndTime - StartTime); FadeOut(DrawableOsuHitObject.TIME_FADEIN); Delay(DrawableOsuHitObject.TIME_FADEIN); Expire(true); } [BackgroundDependencyLoader] private void load(TextureStore textures) { followPoint.Texture = textures.Get(@"Play/osu/ring-glow"); } } }