1cb93a386Sopenharmony_ci{
2cb93a386Sopenharmony_ci   "MaxCount": 4000,
3cb93a386Sopenharmony_ci   "Drawable": {
4cb93a386Sopenharmony_ci      "Type": "SkCircleDrawable",
5cb93a386Sopenharmony_ci      "Radius": 3
6cb93a386Sopenharmony_ci   },
7cb93a386Sopenharmony_ci   "Code": [
8cb93a386Sopenharmony_ci      "void effectSpawn(inout Effect effect) {",
9cb93a386Sopenharmony_ci      "  effect.rate = 4000;",
10cb93a386Sopenharmony_ci      "}",
11cb93a386Sopenharmony_ci      "",
12cb93a386Sopenharmony_ci      "void effectUpdate(inout Effect effect) {",
13cb93a386Sopenharmony_ci      "}",
14cb93a386Sopenharmony_ci      "",
15cb93a386Sopenharmony_ci      "void spawn(inout Particle p) {",
16cb93a386Sopenharmony_ci      "  p.lifetime = 1;",
17cb93a386Sopenharmony_ci      "  p.pos = float2(rand(p.seed), rand(p.seed)) * 200;",
18cb93a386Sopenharmony_ci      "  p.vel = float2(rand(p.seed), rand(p.seed)) * 2 - 1;",
19cb93a386Sopenharmony_ci      "  p.vel *= 20;",
20cb93a386Sopenharmony_ci      "  p.scale = mix(0.25, 1, rand(p.seed));",
21cb93a386Sopenharmony_ci      "}",
22cb93a386Sopenharmony_ci      "",
23cb93a386Sopenharmony_ci      "void update(inout Particle p) {",
24cb93a386Sopenharmony_ci      "  p.color = img(p.pos / 200);",
25cb93a386Sopenharmony_ci      "}",
26cb93a386Sopenharmony_ci      ""
27cb93a386Sopenharmony_ci   ],
28cb93a386Sopenharmony_ci   "Bindings": [
29cb93a386Sopenharmony_ci      {
30cb93a386Sopenharmony_ci         "Type": "SkImageBinding",
31cb93a386Sopenharmony_ci         "Name": "img",
32cb93a386Sopenharmony_ci         "ImagePath": "images",
33cb93a386Sopenharmony_ci         "ImageName": "mandrill_128.png"
34cb93a386Sopenharmony_ci      }
35cb93a386Sopenharmony_ci   ]
36cb93a386Sopenharmony_ci}