UNPKG

starling-framework

Version:

A fast, productive library for 2D cross-platform development.

499 lines (483 loc) 27.3 kB
// Class: starling.extensions.PDParticleSystem var $global = typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this $global.Object.defineProperty(exports, "__esModule", {value: true}); var __map_reserved = {}; // Imports var $hxClasses = require("./../../hxClasses_stub").default; var $hxEnums = require("./../../hxEnums_stub").default; var $import = require("./../../import_stub").default; var $extend = require("./../../extend_stub").default; function starling_extensions_ParticleSystem() {return require("./../../starling/extensions/ParticleSystem");} function starling_extensions_PDParticle() {return require("./../../starling/extensions/PDParticle");} function Xml() {return require("./../../Xml");} function js__$Boot_HaxeError() {return require("./../../js/_Boot/HaxeError");} function _$Xml_XmlType_$Impl_$() {return require("./../../_Xml/XmlType_Impl_");} function Std() {return require("./../../Std");} function haxe_xml__$Access_AttribAccess_$Impl_$() {return require("./../../haxe/xml/_Access/AttribAccess_Impl_");} function haxe_xml__$Access_NodeAccess_$Impl_$() {return require("./../../haxe/xml/_Access/NodeAccess_Impl_");} function starling_utils_MathUtil() {return require("./../../starling/utils/MathUtil");} function haxe_xml__$Access_HasNodeAccess_$Impl_$() {return require("./../../haxe/xml/_Access/HasNodeAccess_Impl_");} function starling_extensions_ColorArgb() {return require("./../../starling/extensions/ColorArgb");} function openfl_errors_ArgumentError() {return $import(require("openfl/errors/ArgumentError"));} // Constructor var PDParticleSystem = function(config,texture) { this._lifespan = 0; (starling_extensions_ParticleSystem().default).call(this,texture); this.parseConfig(config); } // Meta PDParticleSystem.__name__ = "starling.extensions.PDParticleSystem"; PDParticleSystem.__isInterface__ = false; PDParticleSystem.__super__ = (starling_extensions_ParticleSystem().default); PDParticleSystem.prototype = $extend((starling_extensions_ParticleSystem().default).prototype, { createParticle: function() { return new (starling_extensions_PDParticle().default)(); }, initParticle: function(aParticle) { var particle = aParticle; var lifespan = this._lifespan + this._lifespanVariance * (Math.random() * 2.0 - 1.0); var textureWidth = this.get_texture() != null ? this.get_texture().get_width() : 16; particle.currentTime = 0.0; particle.totalTime = lifespan > 0.0 ? lifespan : 0.0; if(lifespan <= 0.0) { return; } var emitterX = this.get_emitterX(); var emitterY = this.get_emitterY(); particle.x = emitterX + this._emitterXVariance * (Math.random() * 2.0 - 1.0); particle.y = emitterY + this._emitterYVariance * (Math.random() * 2.0 - 1.0); particle.startX = emitterX; particle.startY = emitterY; var angle = this._emitAngle + this._emitAngleVariance * (Math.random() * 2.0 - 1.0); var speed = this._speed + this._speedVariance * (Math.random() * 2.0 - 1.0); particle.velocityX = speed * Math.cos(angle); particle.velocityY = speed * Math.sin(angle); var startRadius = this._maxRadius + this._maxRadiusVariance * (Math.random() * 2.0 - 1.0); var endRadius = this._minRadius + this._minRadiusVariance * (Math.random() * 2.0 - 1.0); particle.emitRadius = startRadius; particle.emitRadiusDelta = (endRadius - startRadius) / lifespan; particle.emitRotation = this._emitAngle + this._emitAngleVariance * (Math.random() * 2.0 - 1.0); particle.emitRotationDelta = this._rotatePerSecond + this._rotatePerSecondVariance * (Math.random() * 2.0 - 1.0); particle.radialAcceleration = this._radialAcceleration + this._radialAccelerationVariance * (Math.random() * 2.0 - 1.0); particle.tangentialAcceleration = this._tangentialAcceleration + this._tangentialAccelerationVariance * (Math.random() * 2.0 - 1.0); var startSize = this._startSize + this._startSizeVariance * (Math.random() * 2.0 - 1.0); var endSize = this._endSize + this._endSizeVariance * (Math.random() * 2.0 - 1.0); if(startSize < 0.1) { startSize = 0.1; } if(endSize < 0.1) { endSize = 0.1; } particle.scale = startSize / textureWidth; particle.scaleDelta = (endSize - startSize) / lifespan / textureWidth; var startColor = particle.colorArgb; var colorDelta = particle.colorArgbDelta; startColor.red = this._startColor.red; startColor.green = this._startColor.green; startColor.blue = this._startColor.blue; startColor.alpha = this._startColor.alpha; if(this._startColorVariance.red != 0) { startColor.red += this._startColorVariance.red * (Math.random() * 2.0 - 1.0); } if(this._startColorVariance.green != 0) { startColor.green += this._startColorVariance.green * (Math.random() * 2.0 - 1.0); } if(this._startColorVariance.blue != 0) { startColor.blue += this._startColorVariance.blue * (Math.random() * 2.0 - 1.0); } if(this._startColorVariance.alpha != 0) { startColor.alpha += this._startColorVariance.alpha * (Math.random() * 2.0 - 1.0); } var endColorRed = this._endColor.red; var endColorGreen = this._endColor.green; var endColorBlue = this._endColor.blue; var endColorAlpha = this._endColor.alpha; if(this._endColorVariance.red != 0) { endColorRed += this._endColorVariance.red * (Math.random() * 2.0 - 1.0); } if(this._endColorVariance.green != 0) { endColorGreen += this._endColorVariance.green * (Math.random() * 2.0 - 1.0); } if(this._endColorVariance.blue != 0) { endColorBlue += this._endColorVariance.blue * (Math.random() * 2.0 - 1.0); } if(this._endColorVariance.alpha != 0) { endColorAlpha += this._endColorVariance.alpha * (Math.random() * 2.0 - 1.0); } colorDelta.red = (endColorRed - startColor.red) / lifespan; colorDelta.green = (endColorGreen - startColor.green) / lifespan; colorDelta.blue = (endColorBlue - startColor.blue) / lifespan; colorDelta.alpha = (endColorAlpha - startColor.alpha) / lifespan; var startRotation = this._startRotation + this._startRotationVariance * (Math.random() * 2.0 - 1.0); var endRotation = this._endRotation + this._endRotationVariance * (Math.random() * 2.0 - 1.0); particle.rotation = startRotation; particle.rotationDelta = (endRotation - startRotation) / lifespan; }, advanceParticle: function(aParticle,passedTime) { var particle = aParticle; var restTime = particle.totalTime - particle.currentTime; passedTime = restTime > passedTime ? passedTime : restTime; particle.currentTime += passedTime; if(this._emitterType == 1) { particle.emitRotation += particle.emitRotationDelta * passedTime; particle.emitRadius += particle.emitRadiusDelta * passedTime; particle.x = this._emitterX - Math.cos(particle.emitRotation) * particle.emitRadius; particle.y = this._emitterY - Math.sin(particle.emitRotation) * particle.emitRadius; } else { var distanceX = particle.x - particle.startX; var distanceY = particle.y - particle.startY; var distanceScalar = Math.sqrt(distanceX * distanceX + distanceY * distanceY); if(distanceScalar < 0.01) { distanceScalar = 0.01; } var radialX = distanceX / distanceScalar; var radialY = distanceY / distanceScalar; var tangentialX = radialX; var tangentialY = radialY; radialX *= particle.radialAcceleration; radialY *= particle.radialAcceleration; var newY = tangentialX; tangentialX = -tangentialY * particle.tangentialAcceleration; tangentialY = newY * particle.tangentialAcceleration; particle.velocityX += passedTime * (this._gravityX + radialX + tangentialX); particle.velocityY += passedTime * (this._gravityY + radialY + tangentialY); particle.x += particle.velocityX * passedTime; particle.y += particle.velocityY * passedTime; } particle.scale += particle.scaleDelta * passedTime; particle.rotation += particle.rotationDelta * passedTime; particle.colorArgb.red += particle.colorArgbDelta.red * passedTime; particle.colorArgb.green += particle.colorArgbDelta.green * passedTime; particle.colorArgb.blue += particle.colorArgbDelta.blue * passedTime; particle.colorArgb.alpha += particle.colorArgbDelta.alpha * passedTime; particle.color = particle.colorArgb.toRgb(); particle.alpha = particle.colorArgb.alpha; }, updateEmissionRate: function() { this.set_emissionRate(this.get_capacity() / this._lifespan); }, parseConfig: function(config) { var x = (Xml().default).parse(config).firstElement(); if(x.nodeType != (Xml().default).Document && x.nodeType != (Xml().default).Element) { throw new (js__$Boot_HaxeError().default)("Invalid nodeType " + (_$Xml_XmlType_$Impl_$().default).toString(x.nodeType)); } var this1 = x; var xml = this1; var config1 = xml; this._emitterXVariance = (Std().default).parseFloat((haxe_xml__$Access_AttribAccess_$Impl_$().default).resolve((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"sourcePositionVariance"),"x")); this._emitterYVariance = (Std().default).parseFloat((haxe_xml__$Access_AttribAccess_$Impl_$().default).resolve((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"sourcePositionVariance"),"y")); this._gravityX = (Std().default).parseFloat((haxe_xml__$Access_AttribAccess_$Impl_$().default).resolve((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"gravity"),"x")); this._gravityY = (Std().default).parseFloat((haxe_xml__$Access_AttribAccess_$Impl_$().default).resolve((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"gravity"),"y")); this._emitterType = this.getIntValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"emitterType")); this._startSize = this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"startParticleSize")); this._startSizeVariance = this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"startParticleSizeVariance")); this._endSize = this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"finishParticleSize")); this._emitAngle = (starling_utils_MathUtil().default).deg2rad(this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"angle"))); this._emitAngleVariance = (starling_utils_MathUtil().default).deg2rad(this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"angleVariance"))); this._startRotation = (starling_utils_MathUtil().default).deg2rad(this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"rotationStart"))); this._startRotationVariance = (starling_utils_MathUtil().default).deg2rad(this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"rotationStartVariance"))); this._endRotation = (starling_utils_MathUtil().default).deg2rad(this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"rotationEnd"))); this._endRotationVariance = (starling_utils_MathUtil().default).deg2rad(this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"rotationEndVariance"))); this._speed = this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"speed")); this._speedVariance = this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"speedVariance")); this._radialAcceleration = this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"radialAcceleration")); this._radialAccelerationVariance = this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"radialAccelVariance")); this._tangentialAcceleration = this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"tangentialAcceleration")); this._tangentialAccelerationVariance = this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"tangentialAccelVariance")); this._maxRadius = this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"maxRadius")); this._maxRadiusVariance = this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"maxRadiusVariance")); this._minRadius = this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"minRadius")); this._rotatePerSecond = (starling_utils_MathUtil().default).deg2rad(this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"rotatePerSecond"))); this._rotatePerSecondVariance = (starling_utils_MathUtil().default).deg2rad(this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"rotatePerSecondVariance"))); this._startColor = this.getColor((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"startColor")); this._startColorVariance = this.getColor((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"startColorVariance")); this._endColor = this.getColor((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"finishColor")); this._endColorVariance = this.getColor((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"finishColorVariance")); this._blendFactorSource = this.getBlendFunc((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"blendFuncSource")); this._blendFactorDestination = this.getBlendFunc((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"blendFuncDestination")); this.set_defaultDuration(this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"duration"))); this.set_capacity(this.getIntValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"maxParticles"))); if((haxe_xml__$Access_HasNodeAccess_$Impl_$().default).resolve(xml,"FinishParticleSizeVariance")) { this._endSizeVariance = this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"FinishParticleSizeVariance")); } else { this._endSizeVariance = this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"finishParticleSizeVariance")); } if((haxe_xml__$Access_HasNodeAccess_$Impl_$().default).resolve(xml,"particleLifeSpan")) { this._lifespan = Math.max(0.01,this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"particleLifeSpan"))); } else { this._lifespan = Math.max(0.01,this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"particleLifespan"))); } if((haxe_xml__$Access_HasNodeAccess_$Impl_$().default).resolve(xml,"particleLifespanVariance")) { this._lifespanVariance = this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"particleLifespanVariance")); } else { this._lifespanVariance = this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"particleLifeSpanVariance")); } if((haxe_xml__$Access_HasNodeAccess_$Impl_$().default).resolve(xml,"minRadiusVariance")) { this._minRadiusVariance = this.getFloatValue((haxe_xml__$Access_NodeAccess_$Impl_$().default).resolve(config1,"minRadiusVariance")); } else { this._minRadiusVariance = 0.0; } this.updateEmissionRate(); this.updateBlendMode(); }, getIntValue: function(element) { return (Std().default).parseInt((haxe_xml__$Access_AttribAccess_$Impl_$().default).resolve(element,"value")); }, getFloatValue: function(element) { return (Std().default).parseFloat((haxe_xml__$Access_AttribAccess_$Impl_$().default).resolve(element,"value")); }, getColor: function(element) { var color = new (starling_extensions_ColorArgb().default)(); color.red = (Std().default).parseFloat((haxe_xml__$Access_AttribAccess_$Impl_$().default).resolve(element,"red")); color.green = (Std().default).parseFloat((haxe_xml__$Access_AttribAccess_$Impl_$().default).resolve(element,"green")); color.blue = (Std().default).parseFloat((haxe_xml__$Access_AttribAccess_$Impl_$().default).resolve(element,"blue")); color.alpha = (Std().default).parseFloat((haxe_xml__$Access_AttribAccess_$Impl_$().default).resolve(element,"alpha")); return color; }, getBlendFunc: function(element) { var value = this.getIntValue(element); switch(value) { case 0: return "zero"; case 1: return "one"; case 768: return "sourceColor"; case 769: return "oneMinusSourceColor"; case 770: return "sourceAlpha"; case 771: return "oneMinusSourceAlpha"; case 772: return "destinationAlpha"; case 773: return "oneMinusDestinationAlpha"; case 774: return "destinationColor"; case 775: return "oneMinusDestinationColor"; default: throw new (js__$Boot_HaxeError().default)(new (openfl_errors_ArgumentError().default)("unsupported blending function: " + value)); } }, get_emitterType: function() { return this._emitterType; }, set_emitterType: function(value) { return this._emitterType = value; }, get_emitterXVariance: function() { return this._emitterXVariance; }, set_emitterXVariance: function(value) { return this._emitterXVariance = value; }, get_emitterYVariance: function() { return this._emitterYVariance; }, set_emitterYVariance: function(value) { return this._emitterYVariance = value; }, get_defaultDuration: function() { return this._defaultDuration; }, set_defaultDuration: function(value) { return this._defaultDuration = value < 0 ? 1.79e+308 : value; }, set_capacity: function(value) { (starling_extensions_ParticleSystem().default).prototype.set_capacity.call(this,value); this.updateEmissionRate(); return value; }, get_lifespan: function() { return this._lifespan; }, set_lifespan: function(value) { this._lifespan = Math.max(0.01,value); this.updateEmissionRate(); return value; }, get_lifespanVariance: function() { return this._lifespanVariance; }, set_lifespanVariance: function(value) { return this._lifespanVariance = value; }, get_startSize: function() { return this._startSize; }, set_startSize: function(value) { return this._startSize = value; }, get_startSizeVariance: function() { return this._startSizeVariance; }, set_startSizeVariance: function(value) { return this._startSizeVariance = value; }, get_endSize: function() { return this._endSize; }, set_endSize: function(value) { return this._endSize = value; }, get_endSizeVariance: function() { return this._endSizeVariance; }, set_endSizeVariance: function(value) { return this._endSizeVariance = value; }, get_emitAngle: function() { return this._emitAngle; }, set_emitAngle: function(value) { return this._emitAngle = value; }, get_emitAngleVariance: function() { return this._emitAngleVariance; }, set_emitAngleVariance: function(value) { return this._emitAngleVariance = value; }, get_startRotation: function() { return this._startRotation; }, set_startRotation: function(value) { return this._startRotation = value; }, get_startRotationVariance: function() { return this._startRotationVariance; }, set_startRotationVariance: function(value) { return this._startRotationVariance = value; }, get_endRotation: function() { return this._endRotation; }, set_endRotation: function(value) { return this._endRotation = value; }, get_endRotationVariance: function() { return this._endRotationVariance; }, set_endRotationVariance: function(value) { return this._endRotationVariance = value; }, get_speed: function() { return this._speed; }, set_speed: function(value) { return this._speed = value; }, get_speedVariance: function() { return this._speedVariance; }, set_speedVariance: function(value) { return this._speedVariance = value; }, get_gravityX: function() { return this._gravityX; }, set_gravityX: function(value) { return this._gravityX = value; }, get_gravityY: function() { return this._gravityY; }, set_gravityY: function(value) { return this._gravityY = value; }, get_radialAcceleration: function() { return this._radialAcceleration; }, set_radialAcceleration: function(value) { return this._radialAcceleration = value; }, get_radialAccelerationVariance: function() { return this._radialAccelerationVariance; }, set_radialAccelerationVariance: function(value) { return this._radialAccelerationVariance = value; }, get_tangentialAcceleration: function() { return this._tangentialAcceleration; }, set_tangentialAcceleration: function(value) { return this._tangentialAcceleration = value; }, get_tangentialAccelerationVariance: function() { return this._tangentialAccelerationVariance; }, set_tangentialAccelerationVariance: function(value) { return this._tangentialAccelerationVariance = value; }, get_maxRadius: function() { return this._maxRadius; }, set_maxRadius: function(value) { return this._maxRadius = value; }, get_maxRadiusVariance: function() { return this._maxRadiusVariance; }, set_maxRadiusVariance: function(value) { return this._maxRadiusVariance = value; }, get_minRadius: function() { return this._minRadius; }, set_minRadius: function(value) { return this._minRadius = value; }, get_minRadiusVariance: function() { return this._minRadiusVariance; }, set_minRadiusVariance: function(value) { return this._minRadiusVariance = value; }, get_rotatePerSecond: function() { return this._rotatePerSecond; }, set_rotatePerSecond: function(value) { return this._rotatePerSecond = value; }, get_rotatePerSecondVariance: function() { return this._rotatePerSecondVariance; }, set_rotatePerSecondVariance: function(value) { return this._rotatePerSecondVariance = value; }, get_startColor: function() { return this._startColor; }, set_startColor: function(value) { return this._startColor = value; }, get_startColorVariance: function() { return this._startColorVariance; }, set_startColorVariance: function(value) { return this._startColorVariance = value; }, get_endColor: function() { return this._endColor; }, set_endColor: function(value) { return this._endColor = value; }, get_endColorVariance: function() { return this._endColorVariance; }, set_endColorVariance: function(value) { return this._endColorVariance = value; } }); PDParticleSystem.prototype.__class__ = PDParticleSystem.prototype.constructor = $hxClasses["starling.extensions.PDParticleSystem"] = PDParticleSystem; // Init Object.defineProperties(PDParticleSystem.prototype,{ defaultDuration : { get : function () { return this.get_defaultDuration (); }, set : function (v) { return this.set_defaultDuration (v); }}, emitterType : { get : function () { return this.get_emitterType (); }, set : function (v) { return this.set_emitterType (v); }}, emitterXVariance : { get : function () { return this.get_emitterXVariance (); }, set : function (v) { return this.set_emitterXVariance (v); }}, emitterYVariance : { get : function () { return this.get_emitterYVariance (); }, set : function (v) { return this.set_emitterYVariance (v); }}, lifespan : { get : function () { return this.get_lifespan (); }, set : function (v) { return this.set_lifespan (v); }}, lifespanVariance : { get : function () { return this.get_lifespanVariance (); }, set : function (v) { return this.set_lifespanVariance (v); }}, startSize : { get : function () { return this.get_startSize (); }, set : function (v) { return this.set_startSize (v); }}, startSizeVariance : { get : function () { return this.get_startSizeVariance (); }, set : function (v) { return this.set_startSizeVariance (v); }}, endSize : { get : function () { return this.get_endSize (); }, set : function (v) { return this.set_endSize (v); }}, endSizeVariance : { get : function () { return this.get_endSizeVariance (); }, set : function (v) { return this.set_endSizeVariance (v); }}, emitAngle : { get : function () { return this.get_emitAngle (); }, set : function (v) { return this.set_emitAngle (v); }}, emitAngleVariance : { get : function () { return this.get_emitAngleVariance (); }, set : function (v) { return this.set_emitAngleVariance (v); }}, startRotation : { get : function () { return this.get_startRotation (); }, set : function (v) { return this.set_startRotation (v); }}, startRotationVariance : { get : function () { return this.get_startRotationVariance (); }, set : function (v) { return this.set_startRotationVariance (v); }}, endRotation : { get : function () { return this.get_endRotation (); }, set : function (v) { return this.set_endRotation (v); }}, endRotationVariance : { get : function () { return this.get_endRotationVariance (); }, set : function (v) { return this.set_endRotationVariance (v); }}, speed : { get : function () { return this.get_speed (); }, set : function (v) { return this.set_speed (v); }}, speedVariance : { get : function () { return this.get_speedVariance (); }, set : function (v) { return this.set_speedVariance (v); }}, gravityX : { get : function () { return this.get_gravityX (); }, set : function (v) { return this.set_gravityX (v); }}, gravityY : { get : function () { return this.get_gravityY (); }, set : function (v) { return this.set_gravityY (v); }}, radialAcceleration : { get : function () { return this.get_radialAcceleration (); }, set : function (v) { return this.set_radialAcceleration (v); }}, radialAccelerationVariance : { get : function () { return this.get_radialAccelerationVariance (); }, set : function (v) { return this.set_radialAccelerationVariance (v); }}, tangentialAcceleration : { get : function () { return this.get_tangentialAcceleration (); }, set : function (v) { return this.set_tangentialAcceleration (v); }}, tangentialAccelerationVariance : { get : function () { return this.get_tangentialAccelerationVariance (); }, set : function (v) { return this.set_tangentialAccelerationVariance (v); }}, maxRadius : { get : function () { return this.get_maxRadius (); }, set : function (v) { return this.set_maxRadius (v); }}, maxRadiusVariance : { get : function () { return this.get_maxRadiusVariance (); }, set : function (v) { return this.set_maxRadiusVariance (v); }}, minRadius : { get : function () { return this.get_minRadius (); }, set : function (v) { return this.set_minRadius (v); }}, minRadiusVariance : { get : function () { return this.get_minRadiusVariance (); }, set : function (v) { return this.set_minRadiusVariance (v); }}, rotatePerSecond : { get : function () { return this.get_rotatePerSecond (); }, set : function (v) { return this.set_rotatePerSecond (v); }}, rotatePerSecondVariance : { get : function () { return this.get_rotatePerSecondVariance (); }, set : function (v) { return this.set_rotatePerSecondVariance (v); }}, startColor : { get : function () { return this.get_startColor (); }, set : function (v) { return this.set_startColor (v); }}, startColorVariance : { get : function () { return this.get_startColorVariance (); }, set : function (v) { return this.set_startColorVariance (v); }}, endColor : { get : function () { return this.get_endColor (); }, set : function (v) { return this.set_endColor (v); }}, endColorVariance : { get : function () { return this.get_endColorVariance (); }, set : function (v) { return this.set_endColorVariance (v); }}}); // Statics PDParticleSystem.EMITTER_TYPE_GRAVITY = 0 PDParticleSystem.EMITTER_TYPE_RADIAL = 1 // Export exports.default = PDParticleSystem;