/** * hilojs 2.0.3 for commonjs * Copyright 2016 alibaba.com * Licensed under the MIT License */ var Hilo=require("../core/Hilo"),Class=require("../core/Class"),View=require("../view/View"),Container=require("../view/Container"),Drawable=require("../view/Drawable"),util=require("../util/util"),ParticleSystem=function(){function t(t,i){return i?t+2*(Math.random()-.5)*i:t}for(var i=["x","y","vx","vy","ax","ay","rotation","rotationV","scale","scaleV","alpha","alphaV","life"],e=[],s=0,h=i.length;s=this._emitTime&&(this._currentRunTime=0,this._emitTime=t(this.emitTime,this.emitTimeVar),this._emit()),this._totalRunTime>=this.totalTime&&this.stop())},_emit:function(){for(var i=t(this.emitNum,this.emitNumVar)>>0,e=0;e=0;i--)this.children[i].destroy()}}),l=Class.create({Extends:View,constructor:function(t){this.id=this.id||t.id||Hilo.getUid("Particle"),l.superclass.constructor.call(this,t),this.init(t)},onUpdate:function(t){if(t*=.001,this._died)return!1;var i=this.ax+this.system.gx,e=this.ay+this.system.gy;return this.vx+=i*t,this.vy+=e*t,this.x+=this.vx*t,this.y+=this.vy*t,this.rotation+=this.rotationV,this._time>.1&&(this.alpha+=this.alphaV),this.scale+=this.scaleV,this.scaleX=this.scaleY=this.scale,this._time+=t,this._time>=this.life||this.alpha<=0?(this.destroy(),!1):void 0},setImage:function(t,i){this.drawable=this.drawable||new Drawable,i=i||[0,0,t.width,t.height],this.width=i[2],this.height=i[3],this.drawable.rect=i,this.drawable.image=t},destroy:function(){this._died=!0,this.alpha=0,this.removeFromParent(),n.push(this)},init:function(i){this.system=i.system,this._died=!1,this._time=0,this.alpha=1;for(var s=0,h=e.length;s>0]),this.setImage(i.image,o),void 0!==i.pivotX&&(this.pivotX=i.pivotX*o[2]),void 0!==i.pivotY&&(this.pivotY=i.pivotY*o[3])}},Statics:{create:function(t){if(n.length>0){var i=n.pop();return i.init(t),i}return new l(t)}}});return o}();module.exports=ParticleSystem;