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

Commit 64dbc78

Browse files
die lindie lin
authored andcommitted
reimplemented triggers efficiently
1 parent fb15bec commit 64dbc78

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

.sbrew/index.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ Layers:
88
- "87fce9bf4a6c4c27aef51dc3a35b9a1d"
99
- "f8b9039b02a34d6f9fefb62a1f717b00"
1010
- "8a9e23d0a08b463191d79fdf432774cb"
11-
- "def338ad092e4d95b7347c6aa3695afa"
1211
- "1b36d49a31594665917442418f476024"
12+
- "def338ad092e4d95b7347c6aa3695afa"
1313
- "7eead148dc70430fbc0074895c2d55a9"
1414
- "51c200e630024acb9148684a3731ba07"
1515
- "1a4cd3abd8354fdaa1da2c67e11267ac"

HitObject.cs

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,11 @@ class HitObject : StoryboardObjectGenerator
1212
{
1313
public override void Generate()
1414
{
15-
using (var pool = new OsbSpritePool(GetLayer(""), "sb/p.png", OsbOrigin.Centre, true))
15+
using (var pool = new OsbSpritePool(GetLayer(""), "sb/p.png", OsbOrigin.Centre, (sprite, startTime, endTime) =>
16+
{
17+
sprite.Additive(0);
18+
sprite.Fade(0, 0);
19+
}))
1620
{
1721
pool.MaxPoolDuration = 300000;
1822

@@ -31,10 +35,12 @@ public override void Generate()
3135
Math.Pow(lastPos.Y - hitobject.Position.Y, 2)) > 10 ? Random(-0.1, 0.1) + Math.PI / 2 : lastDir - 0.1;
3236

3337
var sprite = pool.Get(hitobject.StartTime, hitobject.StartTime + 1000);
34-
sprite.Move(hitobject.StartTime, hitobject.Position);
35-
sprite.Rotate(hitobject.StartTime, Math.Round(angle, 2));
36-
sprite.ScaleVec(OsbEasing.OutQuint, hitobject.StartTime, hitobject.StartTime + 1000, 1000, scale, 1000, 0);
37-
sprite.Fade(OsbEasing.OutExpo, hitobject.StartTime, hitobject.StartTime + 1000, fade, 0.3);
38+
sprite.StartTriggerGroup("HitSound", hitobject.StartTime - 35, hitobject.StartTime + 35);
39+
sprite.Move(0, hitobject.Position);
40+
sprite.Rotate(0, Math.Round(angle, 2));
41+
sprite.ScaleVec(OsbEasing.OutQuint, 0, 1000, 1000, scale, 1000, 0);
42+
sprite.Fade(OsbEasing.OutExpo, 0, 1000, fade, 0.3);
43+
sprite.EndGroup();
3844

3945
lastPos = hitobject.Position;
4046
lastDir = angle;

0 commit comments

Comments
 (0)