1cb93a386Sopenharmony_ci{ 2cb93a386Sopenharmony_ci "MaxCount": 4000, 3cb93a386Sopenharmony_ci "Drawable": { 4cb93a386Sopenharmony_ci "Type": "SkCircleDrawable", 5cb93a386Sopenharmony_ci "Radius": 2 6cb93a386Sopenharmony_ci }, 7cb93a386Sopenharmony_ci "Code": [ 8cb93a386Sopenharmony_ci "void effectSpawn(inout Effect effect) {", 9cb93a386Sopenharmony_ci " effect.lifetime = 4;", 10cb93a386Sopenharmony_ci "}", 11cb93a386Sopenharmony_ci "", 12cb93a386Sopenharmony_ci "void effectUpdate(inout Effect effect) {", 13cb93a386Sopenharmony_ci " effect.color.r = 0;", 14cb93a386Sopenharmony_ci " effect.color.g = 1 - effect.age;", 15cb93a386Sopenharmony_ci " effect.color.b = effect.age;", 16cb93a386Sopenharmony_ci "", 17cb93a386Sopenharmony_ci " effect.rate = effect.age < 0.75 ? 800 : 0;", 18cb93a386Sopenharmony_ci "}", 19cb93a386Sopenharmony_ci "", 20cb93a386Sopenharmony_ci "uniform float2 mouse_pos;", 21cb93a386Sopenharmony_ci "", 22cb93a386Sopenharmony_ci "void spawn(inout Particle p) {", 23cb93a386Sopenharmony_ci " p.lifetime = 4;", 24cb93a386Sopenharmony_ci " p.pos = mouse_pos;", 25cb93a386Sopenharmony_ci " p.frame = effect.age / 0.75 + mix(-0.05, 0.05, rand(p.seed));", 26cb93a386Sopenharmony_ci "}", 27cb93a386Sopenharmony_ci "", 28cb93a386Sopenharmony_ci "void update(inout Particle p) {", 29cb93a386Sopenharmony_ci " p.pos = mix(p.pos, text(p.frame).xy, 0.05);", 30cb93a386Sopenharmony_ci "}", 31cb93a386Sopenharmony_ci "" 32cb93a386Sopenharmony_ci ], 33cb93a386Sopenharmony_ci "Bindings": [ 34cb93a386Sopenharmony_ci { 35cb93a386Sopenharmony_ci "Type": "SkTextBinding", 36cb93a386Sopenharmony_ci "Name": "text", 37cb93a386Sopenharmony_ci "Text": "HELLO WORLD", 38cb93a386Sopenharmony_ci "FontSize": 96 39cb93a386Sopenharmony_ci } 40cb93a386Sopenharmony_ci ] 41cb93a386Sopenharmony_ci}