protected void lastEndpoint() { inactiveOverlay.FadeOut(100); circularProgress.Transformations.Clear(); int now = ClockingNow; if (circularProgress.Alpha > 0.5f) { circularProgress.Alpha = 0.8f; } circularProgress.FadeOut(500); circularProgress.EvenShading = true; circularProgress.Transform(new TransformationF(TransformationType.Scale, circularProgress.ScaleScalar + 0.1f, circularProgress.ScaleScalar + 0.4f, now, now + 500, EasingTypes.In)); circularProgress.Transform(new TransformationC(circularProgress.Colour, Color4.White, now, now + 100, EasingTypes.In)); circularProgress.AlwaysDraw = false; }
protected override void initializeSprites() { Transformation fadeInTrack = new TransformationF(TransformationType.Fade, 0, 1, StartTime - DifficultyManager.PreEmpt, StartTime - DifficultyManager.PreEmpt + DifficultyManager.FadeIn); Transformation fadeOut = new TransformationF(TransformationType.Fade, 1, 0, EndTime, EndTime + DifficultyManager.HitWindow50); activeOverlay = new pSprite(TextureManager.Load(OsuTexture.holdactive), FieldTypes.GamefieldSprites, OriginTypes.Centre, ClockTypes.Audio, Position, SpriteManager.drawOrderBwd(EndTime - 18), false, Color.White); spriteCollectionStart.Add(activeOverlay); inactiveOverlay = new pSprite(TextureManager.Load(OsuTexture.holdinactive), FieldTypes.GamefieldSprites, OriginTypes.Centre, ClockTypes.Audio, Position, SpriteManager.drawOrderBwd(EndTime - 19), false, Color.White); inactiveOverlay.Transform(new NullTransform(StartTime, EndTime)); spriteCollectionStart.Add(inactiveOverlay); border = new pSprite(TextureManager.Load(OsuTexture.holdoverlay), FieldTypes.GamefieldSprites, OriginTypes.Centre, ClockTypes.Audio, Position, SpriteManager.drawOrderBwd(EndTime - 20), false, Color.White); border.Transform(fadeInTrack); border.Transform(fadeOut); Sprites.Add(border); spriteCollectionStart.ForEach(s => s.Transform(fadeInTrack)); spriteCollectionStart.ForEach(s => s.Transform(fadeOut)); circularProgress = new CircularProgress(position, 4, false, 0, Color.White); circularProgress.Clocking = ClockTypes.Audio; circularProgress.Field = FieldTypes.GamefieldExact; circularProgress.Additive = true; circularProgress.Transform(new NullTransform(StartTime, EndTime)); spriteCollectionStart.Add(circularProgress); Sprites.AddRange(spriteCollectionStart); activeOverlay.Transform(new TransformationC(hold_colour, Color4.White, StartTime, EndTime)); circularProgress.Transform(new TransformationC(new Color4(hold_colour.R, hold_colour.G, hold_colour.B, 0.8f), ColourHelper.Lighten(new Color4(hold_colour.R, hold_colour.G, hold_colour.B, 0.8f), 0.5f), StartTime, EndTime)); border.TagNumeric = HitObject.DIMMABLE_TAG; inactiveOverlay.TagNumeric = HitObject.DIMMABLE_TAG; }