Пример #1
0
        public String blur(String path, int radius, double power)
        {
            String directory = Path.Combine(effect.MapsetPath, Path.GetDirectoryName(path), "blur");
            String filename  = Path.Combine(directory, Path.GetFileName(path));

            if (System.IO.File.Exists(filename))
            {
                return(filename);
            }
            if (!System.IO.Directory.Exists(directory))
            {
                System.IO.Directory.CreateDirectory(directory);
            }
            var original       = effect.GetMapsetBitmap(path);
            var originalBounds = BitmapHelper.FindTransparencyBounds(original);
            int padding        = 20;
            var bitmap         = new Bitmap(original.Width + padding * 2, original.Height + padding * 2, PixelFormat.Format32bppArgb);
            var blurredBitmap  = new Bitmap(original.Width + padding * 2, original.Height + padding * 2, PixelFormat.Format32bppArgb);

            using (var graphics = Graphics.FromImage(bitmap))
                graphics.DrawImage(original, padding, padding, originalBounds.Value, GraphicsUnit.Pixel);
            blurredBitmap = BitmapHelper.Blur(bitmap, radius, power).Bitmap;
            var bounds        = BitmapHelper.FindTransparencyBounds(bitmap);
            var trimBounds    = bounds.Value;
            var trimmedBitmap = new Bitmap(trimBounds.Width, trimBounds.Height);

            using (var trimGraphics = Graphics.FromImage(trimmedBitmap))
                trimGraphics.DrawImage(blurredBitmap, 0, 0, trimBounds, GraphicsUnit.Pixel);
            trimmedBitmap.Save(filename, ImageFormat.Png);
            trimmedBitmap.Dispose();
            blurredBitmap.Dispose();
            bitmap.Dispose();
            return(filename);
        }
Пример #2
0
    public OsbSprite GenerateBoxes(StoryboardObjectGenerator generator, string layerName, int soundDelay, string soundEffect, Color4 Color, DialogTiming timing,
                                   float pointerScale, float Fade, Position position, Pointer pointer, Push push, bool centre, float lineWidth, float lineHeight,
                                   OsbSprite spriteBox, bool startTriggerGroup = false, string triggerType = "", int startTrigger = 0, int endTrigger = 0, int triggerGroup = 0)
    {
        var d         = 300;
        var fadeTime  = 500;
        var PushValue = 30;
        var biggerBox = 10;
        var boxPos    = centre ? new Vector2(position.position.X - lineWidth * 0.5f - (biggerBox / 2) - 3, position.position.Y - (biggerBox / 2) - 4) :
                        new Vector2(position.position.X - (biggerBox / 2) - 3, position.position.Y - (biggerBox / 2) - 4);

        var layer = generator.GetLayer(layerName);

        // var inputBox = layer.CreateSprite("sb/dialog/box/b.png", OsbOrigin.TopLeft, boxPos);
        var inputBox             = layer.CreateAnimation("sb/dialog/box/b.png", 30, 60, OsbLoopType.LoopForever, OsbOrigin.TopLeft, boxPos);
        var bitmapInputBox       = generator.GetMapsetBitmap("sb/pixel.png");
        var bitmapInputBox2      = generator.GetMapsetBitmap("sb/pixel.png");
        var bitmapInputBoxWidth  = ((lineWidth / bitmapInputBox.Width) + biggerBox);
        var bitmapInputBoxHeight = (lineHeight / bitmapInputBox.Height) + biggerBox;

        var widthInputBox  = bitmapInputBoxWidth / 900;
        var heightInputBox = bitmapInputBoxHeight / 400;
        var bWidth         = widthInputBox * 900;
        var bHeight        = heightInputBox * 900;

        // var bitmapPointer = generator.GetMapsetBitmap("sb/dialog/pointers/pointer.png");
        // var bitmapPointerCorner = generator.GetMapsetBitmap("sb/dialog/pointers/pointerCorner.png");

        // generator.Log($"width: {widthInputBox}     heigt: {heightInputBox}");

        if (startTriggerGroup)
        {
            inputBox.StartTriggerGroup(triggerType, startTrigger, endTrigger, triggerGroup);
        }

        // sfx - message-1
        var message1 = layer.CreateSample(soundEffect, timing.startTime - d + soundDelay, 40);

        //

        // start style
        if (pointer == Pointer.None)
        {
            inputBox.Color(timing.startTime - d, Color);
            inputBox.ScaleVec(timing.startTime - d, widthInputBox, heightInputBox);
            inputBox.Fade(timing.startTime - d, timing.startTime - d + 200, 0, Fade);
            inputBox.Fade(timing.endTime + d - fadeTime, timing.endTime + d, Fade, 0);

            if (push == Push.None)
            {
                if (push == Push.Up)
                {
                    inputBox.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.Y + PushValue, boxPos.Y);
                    inputBox.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.Y, boxPos.Y - PushValue);
                }
            }

            if (push == Push.Down)
            {
                inputBox.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.Y - PushValue, boxPos.Y);
                inputBox.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.Y, boxPos.Y + PushValue);
            }

            if (push == Push.Left)
            {
                inputBox.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.X + PushValue, boxPos.X);
                inputBox.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.X, boxPos.X - PushValue);
            }

            if (push == Push.Right)
            {
                inputBox.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.X - PushValue, boxPos.X);
                inputBox.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.X, boxPos.X + PushValue);
            }
        }
        // end style

        else
        {
            inputBox.Color(timing.startTime - d, Color);
            inputBox.ScaleVec(timing.startTime - d, widthInputBox, heightInputBox);
            inputBox.Fade(timing.startTime - d, timing.startTime - d + 200, 0, Fade);
            inputBox.Fade(timing.endTime + d - fadeTime, timing.endTime + d, Fade, 0);

            if (push == Push.None)
            {
                if (push == Push.Up)
                {
                    inputBox.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.Y + PushValue, boxPos.Y);
                    inputBox.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.Y, boxPos.Y - PushValue);
                }
            }

            if (push == Push.Down)
            {
                inputBox.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.Y - PushValue, boxPos.Y);
                inputBox.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.Y, boxPos.Y + PushValue);
            }

            if (push == Push.Left)
            {
                inputBox.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.X + PushValue, boxPos.X);
                inputBox.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.X, boxPos.X - PushValue);
            }

            if (push == Push.Right)
            {
                inputBox.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.X - PushValue, boxPos.X);
                inputBox.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.X, boxPos.X + PushValue);
            }
        }

        // // start style
        // if (pointer == Pointer.Up)
        // {
        //     inputBox.Color(timing.startTime - d, Color);
        //     inputBox.ScaleVec(timing.startTime - d, widthInputBox, heightInputBox);
        //     inputBox.Fade(timing.startTime - d, timing.startTime - d + 200, 0, Fade);
        //     inputBox.Fade(timing.endTime + d - fadeTime, timing.endTime + d, Fade, 0);

        //     var pointerPos = new Vector2(boxPos.X + (lineWidth / 2), boxPos.Y);
        //     var point = layer.CreateSprite("sb/dialog/pointers/pointer.png", OsbOrigin.BottomCentre, pointerPos);

        //     if (startTriggerGroup)
        //     {
        //         point.StartTriggerGroup(triggerType, startTrigger, endTrigger, triggerGroup);
        //     }

        //     point.Color(timing.startTime - d, Color);
        //     point.Scale(timing.startTime, pointerScale);
        //     point.Fade(timing.startTime - d, timing.startTime - d + 200, 0, Fade);
        //     point.Fade(timing.endTime + d - fadeTime, timing.endTime + d, Fade, 0);

        //     if (push == Push.None)
        //     {
        //         point.MoveX(timing.startTime - d, pointerPos.X);
        //         point.MoveY(timing.endTime + d, pointerPos.Y);
        //     }

        //     if (push == Push.Up)
        //     {
        //         inputBox.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.Y + PushValue, boxPos.Y);
        //         inputBox.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.Y, boxPos.Y - PushValue);
        //         point.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.Y + PushValue, pointerPos.Y);
        //         point.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.Y, pointerPos.Y - PushValue);
        //     }

        //     if (push == Push.Down)
        //     {
        //         inputBox.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.Y - PushValue, boxPos.Y);
        //         inputBox.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.Y, boxPos.Y + PushValue);
        //         point.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.Y - PushValue, pointerPos.Y);
        //         point.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.Y, pointerPos.Y + PushValue);
        //     }

        //     if (push == Push.Left)
        //     {
        //         inputBox.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.X + PushValue, boxPos.X);
        //         inputBox.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.X, boxPos.X - PushValue);
        //         point.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.X + PushValue, pointerPos.X);
        //         point.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.X, pointerPos.X - PushValue);
        //     }

        //     if (push == Push.Right)
        //     {
        //         inputBox.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.X - PushValue, boxPos.X);
        //         inputBox.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.X, boxPos.X + PushValue);
        //         point.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.X - PushValue, pointerPos.X);
        //         point.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.X, pointerPos.X + PushValue);
        //     }

        //     if (startTriggerGroup)
        //     {
        //         point.EndGroup();
        //     }

        //     spriteBox = point;
        // }
        // // end style

        // // start style
        // if (pointer == Pointer.Down)
        // {
        //     inputBox.Color(timing.startTime - d, Color);
        //     inputBox.ScaleVec(timing.startTime - d, widthInputBox, heightInputBox);
        //     inputBox.Fade(timing.startTime - d, timing.startTime - d + 200, 0, Fade);
        //     inputBox.Fade(timing.endTime + d - fadeTime, timing.endTime + d, Fade, 0);

        //     var pointerPos = new Vector2(boxPos.X + (lineWidth / 2), boxPos.Y + heightInputBox);
        //     var point = layer.CreateSprite("sb/dialog/pointers/pointer.png", OsbOrigin.BottomCentre, pointerPos);

        //     if (startTriggerGroup)
        //     {
        //         point.StartTriggerGroup(triggerType, startTrigger, endTrigger, triggerGroup);
        //     }

        //     point.Rotate(timing.startTime, MathHelper.DegreesToRadians(180));
        //     point.Scale(timing.startTime, pointerScale);
        //     point.Color(timing.startTime - d, Color);
        //     point.Fade(timing.startTime - d, timing.startTime - d + 200, 0, Fade);
        //     point.Fade(timing.endTime + d - fadeTime, timing.endTime + d, Fade, 0);

        //     if (push == Push.None)
        //     {
        //         point.MoveX(timing.startTime - d, pointerPos.X);
        //         point.MoveY(timing.endTime + d, pointerPos.Y);
        //     }

        //     if (push == Push.Up)
        //     {
        //         inputBox.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.Y + PushValue, boxPos.Y);
        //         inputBox.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.Y, boxPos.Y - PushValue);
        //         point.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.Y + PushValue, pointerPos.Y);
        //         point.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.Y, pointerPos.Y - PushValue);
        //     }

        //     if (push == Push.Down)
        //     {
        //         inputBox.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.Y - PushValue, boxPos.Y);
        //         inputBox.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.Y, boxPos.Y + PushValue);
        //         point.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.Y - PushValue, pointerPos.Y);
        //         point.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.Y, pointerPos.Y + PushValue);
        //     }

        //     if (push == Push.Left)
        //     {
        //         inputBox.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.X + PushValue, boxPos.X);
        //         inputBox.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.X, boxPos.X - PushValue);
        //         point.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.X + PushValue, pointerPos.X);
        //         point.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.X, pointerPos.X - PushValue);
        //     }

        //     if (push == Push.Right)
        //     {
        //         inputBox.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.X - PushValue, boxPos.X);
        //         inputBox.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.X, boxPos.X + PushValue);
        //         point.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.X - PushValue, pointerPos.X);
        //         point.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.X, pointerPos.X + PushValue);
        //     }

        //     if (startTriggerGroup)
        //     {
        //         point.EndGroup();
        //     }

        //     spriteBox = point;
        // }
        // // end style

        // // start style
        // if (pointer == Pointer.CentreLeft)
        // {
        //     inputBox.Color(timing.startTime - d, Color);
        //     inputBox.ScaleVec(timing.startTime - d, widthInputBox, heightInputBox);
        //     inputBox.Fade(timing.startTime - d, timing.startTime - d + 200, 0, Fade);
        //     inputBox.Fade(timing.endTime + d - fadeTime, timing.endTime + d, Fade, 0);

        //     var pointerPos = new Vector2(boxPos.X, boxPos.Y + (heightInputBox / 2));
        //     var point = layer.CreateSprite("sb/dialog/pointers/pointer.png", OsbOrigin.BottomCentre, pointerPos);

        //     if (startTriggerGroup)
        //     {
        //         point.StartTriggerGroup(triggerType, startTrigger, endTrigger, triggerGroup);
        //     }

        //     point.Rotate(timing.startTime, MathHelper.DegreesToRadians(-90));
        //     point.Scale(timing.startTime, pointerScale);
        //     point.Color(timing.startTime - d, Color);
        //     point.Fade(timing.startTime - d, timing.startTime - d + 200, 0, Fade);
        //     point.Fade(timing.endTime + d - fadeTime, timing.endTime + d, Fade, 0);

        //     if (push == Push.None)
        //     {
        //         point.MoveX(timing.startTime - d, pointerPos.X);
        //         point.MoveY(timing.endTime + d, pointerPos.Y);
        //     }

        //     if (push == Push.Up)
        //     {
        //         inputBox.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.Y + PushValue, boxPos.Y);
        //         inputBox.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.Y, boxPos.Y - PushValue);
        //         point.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.Y + PushValue, pointerPos.Y);
        //         point.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.Y, pointerPos.Y - PushValue);
        //     }

        //     if (push == Push.Down)
        //     {
        //         inputBox.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.Y - PushValue, boxPos.Y);
        //         inputBox.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.Y, boxPos.Y + PushValue);
        //         point.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.Y - PushValue, pointerPos.Y);
        //         point.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.Y, pointerPos.Y + PushValue);
        //     }

        //     if (push == Push.Left)
        //     {
        //         inputBox.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.X + PushValue, boxPos.X);
        //         inputBox.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.X, boxPos.X - PushValue);
        //         point.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.X + PushValue, pointerPos.X);
        //         point.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.X, pointerPos.X - PushValue);
        //     }

        //     if (push == Push.Right)
        //     {
        //         inputBox.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.X - PushValue, boxPos.X);
        //         inputBox.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.X, boxPos.X + PushValue);
        //         point.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.X - PushValue, pointerPos.X);
        //         point.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.X, pointerPos.X + PushValue);
        //     }

        //     if (startTriggerGroup)
        //     {
        //         point.EndGroup();
        //     }

        //     spriteBox = point;
        // }
        // // end style

        // // start style
        // if (pointer == Pointer.CentreRight)
        // {
        //     inputBox.Color(timing.startTime - d, Color);
        //     inputBox.ScaleVec(timing.startTime - d, widthInputBox, heightInputBox);
        //     inputBox.Fade(timing.startTime - d, timing.startTime - d + 200, 0, Fade);
        //     inputBox.Fade(timing.endTime + d - fadeTime, timing.endTime + d, Fade, 0);

        //     var pointerPos = new Vector2(boxPos.X + widthInputBox, boxPos.Y + (heightInputBox / 2));
        //     var point = layer.CreateSprite("sb/dialog/pointers/pointer.png", OsbOrigin.BottomCentre, pointerPos);

        //     if (startTriggerGroup)
        //     {
        //         point.StartTriggerGroup(triggerType, startTrigger, endTrigger, triggerGroup);
        //     }

        //     point.Rotate(timing.startTime, MathHelper.DegreesToRadians(90));
        //     point.Scale(timing.startTime, pointerScale);
        //     point.Color(timing.startTime - d, Color);
        //     point.Fade(timing.startTime - d, timing.startTime - d + 200, 0, Fade);
        //     point.Fade(timing.endTime + d - fadeTime, timing.endTime + d, Fade, 0);

        //     if (push == Push.None)
        //     {
        //         point.MoveX(timing.startTime - d, pointerPos.X);
        //         point.MoveY(timing.endTime + d, pointerPos.Y);
        //     }

        //     if (push == Push.Up)
        //     {
        //         inputBox.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.Y + PushValue, boxPos.Y);
        //         inputBox.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.Y, boxPos.Y - PushValue);
        //         point.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.Y + PushValue, pointerPos.Y);
        //         point.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.Y, pointerPos.Y - PushValue);
        //     }

        //     if (push == Push.Down)
        //     {
        //         inputBox.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.Y - PushValue, boxPos.Y);
        //         inputBox.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.Y, boxPos.Y + PushValue);
        //         point.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.Y - PushValue, pointerPos.Y);
        //         point.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.Y, pointerPos.Y + PushValue);
        //     }

        //     if (push == Push.Left)
        //     {
        //         inputBox.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.X + PushValue, boxPos.X);
        //         inputBox.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.X, boxPos.X - PushValue);
        //         point.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.X + PushValue, pointerPos.X);
        //         point.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.X, pointerPos.X - PushValue);
        //     }

        //     if (push == Push.Right)
        //     {
        //         inputBox.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.X - PushValue, boxPos.X);
        //         inputBox.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.X, boxPos.X + PushValue);
        //         point.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.X - PushValue, pointerPos.X);
        //         point.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.X, pointerPos.X + PushValue);
        //     }

        //     if (startTriggerGroup)
        //     {
        //         point.EndGroup();
        //     }

        //     spriteBox = point;
        // }
        // // end style

        // // start style
        // if (pointer == Pointer.TopLeft)
        // {
        //     inputBox.Color(timing.startTime - d, Color);
        //     inputBox.ScaleVec(timing.startTime - d, widthInputBox, heightInputBox);
        //     inputBox.Fade(timing.startTime - d, timing.startTime - d + 200, 0, Fade);
        //     inputBox.Fade(timing.endTime + d - fadeTime, timing.endTime + d, Fade, 0);

        //     var pointerPos = new Vector2(boxPos.X + (bitmapPointerCorner.Height / 4) + 0.5f, boxPos.Y + (bitmapPointerCorner.Height / 4) + 0.5f);
        //     var point = layer.CreateSprite("sb/dialog/pointers/pointerCorner.png", OsbOrigin.BottomCentre, pointerPos);

        //     if (startTriggerGroup)
        //     {
        //         point.StartTriggerGroup(triggerType, startTrigger, endTrigger, triggerGroup);
        //     }

        //     point.Rotate(timing.startTime, MathHelper.DegreesToRadians(-45));
        //     point.Scale(timing.startTime, pointerScale);
        //     point.Color(timing.startTime - d, Color);
        //     point.Fade(timing.startTime - d, timing.startTime - d + 200, 0, Fade);
        //     point.Fade(timing.endTime + d - fadeTime, timing.endTime + d, Fade, 0);

        //     if (push == Push.None)
        //     {
        //         point.MoveX(timing.startTime - d, pointerPos.X);
        //         point.MoveY(timing.endTime + d, pointerPos.Y);
        //     }

        //     if (push == Push.Up)
        //     {
        //         inputBox.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.Y + PushValue, boxPos.Y);
        //         inputBox.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.Y, boxPos.Y - PushValue);
        //         point.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.Y + PushValue, pointerPos.Y);
        //         point.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.Y, pointerPos.Y - PushValue);
        //     }

        //     if (push == Push.Down)
        //     {
        //         inputBox.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.Y - PushValue, boxPos.Y);
        //         inputBox.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.Y, boxPos.Y + PushValue);
        //         point.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.Y - PushValue, pointerPos.Y);
        //         point.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.Y, pointerPos.Y + PushValue);
        //     }

        //     if (push == Push.Left)
        //     {
        //         inputBox.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.X + PushValue, boxPos.X);
        //         inputBox.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.X, boxPos.X - PushValue);
        //         point.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.X + PushValue, pointerPos.X);
        //         point.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.X, pointerPos.X - PushValue);
        //     }

        //     if (push == Push.Right)
        //     {
        //         inputBox.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.X - PushValue, boxPos.X);
        //         inputBox.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.X, boxPos.X + PushValue);
        //         point.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.X - PushValue, pointerPos.X);
        //         point.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.X, pointerPos.X + PushValue);
        //     }

        //     if (startTriggerGroup)
        //     {
        //         point.EndGroup();
        //     }

        //     spriteBox = point;
        // }
        // // end style

        // // start style
        // if (pointer == Pointer.TopRight)
        // {
        //     inputBox.Color(timing.startTime - d, Color);
        //     inputBox.ScaleVec(timing.startTime - d, widthInputBox, heightInputBox);
        //     inputBox.Fade(timing.startTime - d, timing.startTime - d + 200, 0, Fade);
        //     inputBox.Fade(timing.endTime + d - fadeTime, timing.endTime + d, Fade, 0);

        //     var pointerPos = new Vector2(boxPos.X + widthInputBox - (bitmapPointerCorner.Height / 4) - 0.5f, boxPos.Y + (bitmapPointerCorner.Height / 4) + 0.5f);
        //     var point = layer.CreateSprite("sb/dialog/pointers/pointerCorner.png", OsbOrigin.BottomCentre, pointerPos);

        //     if (startTriggerGroup)
        //     {
        //         point.StartTriggerGroup(triggerType, startTrigger, endTrigger, triggerGroup);
        //     }

        //     point.Rotate(timing.startTime, MathHelper.DegreesToRadians(45));
        //     point.Scale(timing.startTime, pointerScale);
        //     point.Color(timing.startTime - d, Color);
        //     point.Fade(timing.startTime - d, timing.startTime - d + 200, 0, Fade);
        //     point.Fade(timing.endTime + d - fadeTime, timing.endTime + d, Fade, 0);

        //     if (push == Push.None)
        //     {
        //         point.MoveX(timing.startTime - d, pointerPos.X);
        //         point.MoveY(timing.endTime + d, pointerPos.Y);
        //     }

        //     if (push == Push.Up)
        //     {
        //         inputBox.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.Y + PushValue, boxPos.Y);
        //         inputBox.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.Y, boxPos.Y - PushValue);
        //         point.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.Y + PushValue, pointerPos.Y);
        //         point.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.Y, pointerPos.Y - PushValue);
        //     }

        //     if (push == Push.Down)
        //     {
        //         inputBox.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.Y - PushValue, boxPos.Y);
        //         inputBox.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.Y, boxPos.Y + PushValue);
        //         point.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.Y - PushValue, pointerPos.Y);
        //         point.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.Y, pointerPos.Y + PushValue);
        //     }

        //     if (push == Push.Left)
        //     {
        //         inputBox.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.X + PushValue, boxPos.X);
        //         inputBox.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.X, boxPos.X - PushValue);
        //         point.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.X + PushValue, pointerPos.X);
        //         point.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.X, pointerPos.X - PushValue);
        //     }

        //     if (push == Push.Right)
        //     {
        //         inputBox.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.X - PushValue, boxPos.X);
        //         inputBox.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.X, boxPos.X + PushValue);
        //         point.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.X - PushValue, pointerPos.X);
        //         point.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.X, pointerPos.X + PushValue);
        //     }

        //     if (startTriggerGroup)
        //     {
        //         point.EndGroup();
        //     }

        //     spriteBox = point;
        // }
        // // end style

        // // start style
        // if (pointer == Pointer.BottomLeft)
        // {
        //     inputBox.Color(timing.startTime - d, Color);
        //     inputBox.ScaleVec(timing.startTime - d, widthInputBox, heightInputBox);
        //     inputBox.Fade(timing.startTime - d, timing.startTime - d + 200, 0, Fade);
        //     inputBox.Fade(timing.endTime + d - fadeTime, timing.endTime + d, Fade, 0);

        //     var pointerPos = new Vector2(boxPos.X + (bitmapPointerCorner.Height / 4) + 0.5f, boxPos.Y + heightInputBox - (bitmapPointerCorner.Height / 4) - 0.5f);
        //     var point = layer.CreateSprite("sb/dialog/pointers/pointerCorner.png", OsbOrigin.BottomCentre, pointerPos);

        //     if (startTriggerGroup)
        //     {
        //         point.StartTriggerGroup(triggerType, startTrigger, endTrigger, triggerGroup);
        //     }

        //     point.Rotate(timing.startTime, MathHelper.DegreesToRadians(-135));
        //     point.Scale(timing.startTime, pointerScale);
        //     point.Color(timing.startTime - d, Color);
        //     point.Fade(timing.startTime - d, timing.startTime - d + 200, 0, Fade);
        //     point.Fade(timing.endTime + d - fadeTime, timing.endTime + d, Fade, 0);

        //     if (push == Push.None)
        //     {
        //         point.MoveX(timing.startTime - d, pointerPos.X);
        //         point.MoveY(timing.endTime + d, pointerPos.Y);
        //     }

        //     if (push == Push.Up)
        //     {
        //         inputBox.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.Y + PushValue, boxPos.Y);
        //         inputBox.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.Y, boxPos.Y - PushValue);
        //         point.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.Y + PushValue, pointerPos.Y);
        //         point.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.Y, pointerPos.Y - PushValue);
        //     }

        //     if (push == Push.Down)
        //     {
        //         inputBox.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.Y - PushValue, boxPos.Y);
        //         inputBox.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.Y, boxPos.Y + PushValue);
        //         point.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.Y - PushValue, pointerPos.Y);
        //         point.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.Y, pointerPos.Y + PushValue);
        //     }

        //     if (push == Push.Left)
        //     {
        //         inputBox.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.X + PushValue, boxPos.X);
        //         inputBox.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.X, boxPos.X - PushValue);
        //         point.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.X + PushValue, pointerPos.X);
        //         point.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.X, pointerPos.X - PushValue);
        //     }

        //     if (push == Push.Right)
        //     {
        //         inputBox.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.X - PushValue, boxPos.X);
        //         inputBox.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.X, boxPos.X + PushValue);
        //         point.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.X - PushValue, pointerPos.X);
        //         point.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.X, pointerPos.X + PushValue);
        //     }

        //     if (startTriggerGroup)
        //     {
        //         point.EndGroup();
        //     }

        //     spriteBox = point;
        // }
        // // end style

        // // start style
        // if (pointer == Pointer.BottomRight)
        // {
        //     inputBox.Color(timing.startTime - d, Color);
        //     inputBox.ScaleVec(timing.startTime - d, widthInputBox, heightInputBox);
        //     inputBox.Fade(timing.startTime - d, timing.startTime - d + 200, 0, Fade);
        //     inputBox.Fade(timing.endTime + d - fadeTime, timing.endTime + d, Fade, 0);

        //     var pointerPos = new Vector2(boxPos.X + widthInputBox - (bitmapPointerCorner.Height / 4) - 0.5f, boxPos.Y + heightInputBox - (bitmapPointerCorner.Height / 4) - 0.5f);
        //     var point = layer.CreateSprite("sb/dialog/pointers/pointerCorner.png", OsbOrigin.BottomCentre, pointerPos);

        //     if (startTriggerGroup)
        //     {
        //         point.StartTriggerGroup(triggerType, startTrigger, endTrigger, triggerGroup);
        //     }

        //     point.Rotate(timing.startTime, MathHelper.DegreesToRadians(135));
        //     point.Scale(timing.startTime, pointerScale);
        //     point.Color(timing.startTime - d, Color);
        //     point.Fade(timing.startTime - d, timing.startTime - d + 200, 0, Fade);
        //     point.Fade(timing.endTime + d - fadeTime, timing.endTime + d, Fade, 0);

        //     if (push == Push.None)
        //     {
        //         point.MoveX(timing.startTime - d, pointerPos.X);
        //         point.MoveY(timing.endTime + d, pointerPos.Y);
        //     }

        //     if (push == Push.Up)
        //     {
        //         inputBox.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.Y + PushValue, boxPos.Y);
        //         inputBox.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.Y, boxPos.Y - PushValue);
        //         point.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.Y + PushValue, pointerPos.Y);
        //         point.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.Y, pointerPos.Y - PushValue);
        //     }

        //     if (push == Push.Down)
        //     {
        //         inputBox.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.Y - PushValue, boxPos.Y);
        //         inputBox.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.Y, boxPos.Y + PushValue);
        //         point.MoveY(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.Y - PushValue, pointerPos.Y);
        //         point.MoveY(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.Y, pointerPos.Y + PushValue);
        //     }

        //     if (push == Push.Left)
        //     {
        //         inputBox.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.X + PushValue, boxPos.X);
        //         inputBox.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.X, boxPos.X - PushValue);
        //         point.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.X + PushValue, pointerPos.X);
        //         point.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.X, pointerPos.X - PushValue);
        //     }

        //     if (push == Push.Right)
        //     {
        //         inputBox.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, boxPos.X - PushValue, boxPos.X);
        //         inputBox.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), boxPos.X, boxPos.X + PushValue);
        //         point.MoveX(OsbEasing.OutBack, timing.startTime - d, timing.startTime - d + 400, pointerPos.X - PushValue, pointerPos.X);
        //         point.MoveX(OsbEasing.OutSine, timing.endTime + (d * 2) - 400, timing.endTime + (d * 2), pointerPos.X, pointerPos.X + PushValue);
        //     }

        //     if (startTriggerGroup)
        //     {
        //         point.EndGroup();
        //     }

        //     spriteBox = point;
        // }
        // // end style

        if (startTriggerGroup)
        {
            inputBox.EndGroup();
        }

        spriteBox = inputBox;

        return(spriteBox);
    }
Пример #3
0
    public void Overlay()
    {
        var bitmap = generator.GetMapsetBitmap("sb/HUD/overlay.png");
        var sprite = generator.GetLayer("HUD").CreateSprite("sb/HUD/overlay.png", OsbOrigin.Centre);

        sprite.Scale(OsbEasing.OutSine, startTime - FadeTime, startTime, 520.0f / bitmap.Height, 480.0f / bitmap.Height);
        sprite.Fade(startTime - FadeTime, startTime, 0, 0.2f);
        sprite.Fade(endTime, endTime + FadeTime, 0.2f, 0);
        sprite.Additive(startTime, endTime);

        var duration  = 15000;
        var loopCount = (endTime - startTime) / duration;

        for (var i = startTime; i < startTime + duration; i += 500)
        {
            var particleLeft  = generator.GetLayer("HUD").CreateSprite("sb/pixel.png", OsbOrigin.Centre);
            var particleRight = generator.GetLayer("HUD").CreateSprite("sb/pixel.png", OsbOrigin.Centre);

            var pad      = 10;
            var startX   = new Vector2(-98, 12);
            var startY   = new Vector2(0, 240);
            var endX     = new Vector2(-98, 26);
            var endY     = new Vector2(240, 436);
            var rotation = MathHelper.DegreesToRadians(90);

            particleLeft.StartLoopGroup(i, loopCount);
            particleLeft.ScaleVec(OsbEasing.Out, 0, duration / 2, 1, 0, 1, 7);
            particleLeft.ScaleVec(OsbEasing.In, duration / 2, duration, 1, 7, 1, 0);
            // first half
            particleLeft.MoveX(OsbEasing.Out, 0, duration / 2, startX.Y + pad, startX.X + pad);
            particleLeft.MoveY(0, duration / 2, startY.X, startY.Y);
            // second half
            particleLeft.MoveX(OsbEasing.InQuad, duration / 2, duration, endX.X + pad, endX.Y + pad);
            particleLeft.MoveY(duration / 2, duration, endY.X, endY.Y);
            particleLeft.EndGroup();
            particleLeft.Fade(i, 0.2f);
            particleLeft.Rotate(i, rotation);
            particleLeft.Additive(i, i + duration);

            var startX2 = new Vector2(738, 628);
            var startY2 = new Vector2(0, 240);
            var endX2   = new Vector2(738, 614);
            var endY2   = new Vector2(240, 436);
            particleRight.StartLoopGroup(i, loopCount);
            particleRight.ScaleVec(OsbEasing.Out, 0, duration / 2, 1, 0, 1, 7);
            particleRight.ScaleVec(OsbEasing.In, duration / 2, duration, 1, 7, 1, 0);
            // first half
            particleRight.MoveX(OsbEasing.Out, 0, duration / 2, startX2.Y - pad, startX2.X - pad);
            particleRight.MoveY(0, duration / 2, startY2.X, startY2.Y);
            // second half
            particleRight.MoveX(OsbEasing.InQuad, duration / 2, duration, endX2.X - pad, endX2.Y - pad);
            particleRight.MoveY(duration / 2, duration, endY2.X, endY2.Y);
            particleRight.EndGroup();
            particleRight.Fade(i, 0.2f);
            particleRight.Rotate(i, rotation);
            particleRight.Additive(i, i + duration);
        }

        var duration2  = 6500;
        var loopCount2 = (endTime - startTime) / duration2;

        for (var i = startTime; i < startTime + duration2; i += 1000)
        {
            var moveBy         = 61;
            var posLeft        = new Vector2(-25, 240);
            var posRight       = new Vector2(665, 240);
            var bitmapLines    = generator.GetMapsetBitmap("sb/HUD/line.png");
            var sideLinesLeft  = generator.GetLayer("HUD").CreateSprite("sb/HUD/line.png", OsbOrigin.CentreLeft);
            var sideLinesRight = generator.GetLayer("HUD").CreateSprite("sb/HUD/line.png", OsbOrigin.CentreRight);

            sideLinesLeft.StartLoopGroup(i, loopCount2);
            sideLinesLeft.MoveY(0, duration2, posLeft.Y, posLeft.Y);
            sideLinesLeft.MoveX(OsbEasing.OutCirc, 0, duration2, posLeft.X, posLeft.X - moveBy);
            sideLinesLeft.Scale(OsbEasing.OutCirc, 0, duration2, 370.0f / bitmapLines.Height, 458.0f / bitmapLines.Height);
            sideLinesLeft.Fade(0, duration2 / 4, 0, 0.15f);
            sideLinesLeft.Fade(duration2 - duration2 / 2, duration2, 0.15f, 0);
            sideLinesLeft.Additive(0, duration2);
            sideLinesLeft.EndGroup();

            sideLinesRight.StartLoopGroup(i, loopCount2);
            sideLinesRight.FlipH(0, duration2);
            sideLinesRight.MoveY(0, duration2, posRight.Y, posRight.Y);
            sideLinesRight.MoveX(OsbEasing.OutCirc, 0, duration2, posRight.X, posRight.X + moveBy);
            sideLinesRight.Scale(OsbEasing.OutCirc, 0, duration2, 370.0f / bitmapLines.Height, 458.0f / bitmapLines.Height);
            sideLinesRight.Fade(0, duration2 / 4, 0, 0.15f);
            sideLinesRight.Fade(duration2 - duration2 / 2, duration2, 0.15f, 0);
            sideLinesRight.Additive(0, duration2);
            sideLinesRight.EndGroup();
        }
    }