Skip to content
This repository was archived by the owner on Jul 30, 2022. It is now read-only.

Commit bd5fe4e

Browse files
die lindie lin
authored andcommitted
oooo another effect
1 parent 6340cf0 commit bd5fe4e

File tree

1 file changed

+38
-12
lines changed

1 file changed

+38
-12
lines changed

Particles.cs

Lines changed: 38 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -54,30 +54,56 @@ public override void Generate()
5454
RadialParticles(237350, 302069);
5555
RisingParticles(237350, 302069);
5656
}
57-
using (var pool = new OsbSpritePools(GetLayer("Squares")))
57+
using (var pool = new OsbSpritePool(GetLayer("Squares"), "sb/p.png", OsbOrigin.Centre, false))
5858
{
5959
pool.MaxPoolDuration = 300000;
6060

61-
Action<int, int, double> SquareParticles = (startTime, endTime, maxFade) =>
61+
Action<int, int, float> SquareParticles = (startTime, endTime, maxFade) =>
6262
{
63-
for (int i = startTime; i < endTime; i += 40)
63+
for (int i = startTime; i < endTime - 2000; i += 40)
6464
{
65-
var duration = Random(2000, 6000);
65+
var duration = Random(1500, 5000);
6666
var fade = Random(0.5f, maxFade);
67-
var pos = new Vector2(Random(-127, 320), 240);
67+
var pos = new Vector2(Random(-157, 347), 240);
6868
var endPos = new Vector2(Random(320, 767), Random(100, 380));
6969

70-
var sprite = pool.Get(i, i + duration, "sb/p.png", OsbOrigin.Centre, false);
71-
sprite.Fade(i, i + 200, 0, fade);
72-
sprite.Move(i, i + duration, pos, endPos);
73-
sprite.Scale(i, Random(2.0f, 8));
74-
sprite.Fade(i + duration - 200, i + duration, fade, 0);
75-
sprite.Rotate(i, i + duration / 2, Random(-Math.PI / 4, Math.PI / 4), Random(-Math.PI / 4, Math.PI / 4));
70+
var sprite = pool.Get(i, i + duration);
71+
sprite.Fade(i, i + 150, 0, fade);
72+
sprite.Move((OsbEasing)Random(2), i, i + duration, pos, endPos);
73+
sprite.Scale(i, Random(2, 10));
74+
sprite.Fade(i + duration - 150, i + duration, fade, 0);
75+
sprite.Rotate((OsbEasing)Random(2), i, i + duration, Random(-Math.PI / 4, Math.PI / 4), Random(-Math.PI / 4, Math.PI / 4));
7676
}
7777
};
7878

7979
SquareParticles(91732, 102518, 1);
80-
SquareParticles(199597, 210384, 0.75);
80+
SquareParticles(199597, 210384, 0.7f);
81+
}
82+
using (var pool = new OsbSpritePool(GetLayer("Squares2"), "sb/p.png", OsbOrigin.Centre, false))
83+
{
84+
Action<int, int, float, bool> ExpandingSquareParticles = (startTime, endTime, maxFade, right) =>
85+
{
86+
for (int i = startTime; i < endTime - 2000; i += 40)
87+
{
88+
var duration = Random(1000, 4000);
89+
var fade = Random(0.5f, maxFade);
90+
var pos = new Vector2(right ? 767 : -127, Random(-100, 600));
91+
var endPos = new Vector2(320, 240);
92+
93+
var sprite = pool.Get(i, i + duration);
94+
sprite.Fade(i, i + 150, 0, fade);
95+
sprite.Move((OsbEasing)Random(2), i, i + duration, pos, endPos);
96+
sprite.Scale(i, Random(2, 10));
97+
sprite.Fade(i + duration - 150, i + duration, fade, 0);
98+
sprite.Rotate((OsbEasing)Random(2), i, i + duration, Random(-Math.PI / 4, Math.PI / 4), Random(-Math.PI / 4, Math.PI / 4));
99+
}
100+
};
101+
102+
ExpandingSquareParticles(113305, 155103, 0.8f, true);
103+
ExpandingSquareParticles(113305, 155103, 0.8f, false);
104+
105+
ExpandingSquareParticles(258923, 300721, 0.8f, true);
106+
ExpandingSquareParticles(258923, 300721, 0.8f, false);
81107
}
82108
}
83109
}

0 commit comments

Comments
 (0)