1{ 2 "MaxCount": 32, 3 "Drawable": { 4 "Type": "SkImageDrawable", 5 "Path": "images", 6 "Name": "explosion_sprites.png", 7 "Columns": 4, 8 "Rows": 4 9 }, 10 "Code": [ 11 "void effectSpawn(inout Effect effect) {", 12 " effect.rate = 8;", 13 "}", 14 "", 15 "float2 circle(inout float seed) {", 16 " float r = sqrt(rand(seed));", 17 " float a = rand(seed) * 6.283185;", 18 " return r * float2(sin(a), cos(a));", 19 "}", 20 "", 21 "void spawn(inout Particle p) {", 22 " p.lifetime = 1.0 + rand(p.seed) * 2.0;", 23 " float2 ofs = circle(p.seed) * 60;", 24 " p.pos += ofs;", 25 " p.vel = ofs / 3;", 26 "}", 27 "", 28 "void update(inout Particle p) {", 29 " p.frame = p.age;", 30 "}", 31 "" 32 ], 33 "Bindings": [] 34}