Beispiel #1
0
            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;
            }
Beispiel #2
0
            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;
            }