---@meta ---@class cc.ParticleSystem :cc.Node@all parent class: Node,TextureProtocol,PlayableProtocol local ParticleSystem={ } cc.ParticleSystem=ParticleSystem ---* Gets the start size variance in pixels of each particle.
---* return The start size variance in pixels of each particle. ---@return float function ParticleSystem:getStartSizeVar () end ---* ---@return cc.Texture2D function ParticleSystem:getTexture () end ---* Whether or not the system is full.
---* return True if the system is full. ---@return boolean function ParticleSystem:isFull () end ---* Gets the batch node.
---* return The batch node. ---@return cc.ParticleBatchNode function ParticleSystem:getBatchNode () end ---* Gets the start color of each particle.
---* return The start color of each particle. ---@return color4f_table function ParticleSystem:getStartColor () end ---* Gets the particles movement type: Free or Grouped.
---* since v0.8
---* return The particles movement type. ---@return int function ParticleSystem:getPositionType () end ---* Sets the position variance of the emitter.
---* param pos The position variance of the emitter. ---@param pos vec2_table ---@return self function ParticleSystem:setPosVar (pos) end ---* Gets the end spin of each particle.
---* return The end spin of each particle. ---@return float function ParticleSystem:getEndSpin () end ---* Sets the rotate per second variance.
---* param degrees The rotate per second variance. ---@param degrees float ---@return self function ParticleSystem:setRotatePerSecondVar (degrees) end ---* / @} end of PlayableProtocol ---@param sourcePositionCompatible boolean ---@return self function ParticleSystem:setSourcePositionCompatible (sourcePositionCompatible) end ---* Gets the start spin variance of each particle.
---* return The start spin variance of each particle. ---@return float function ParticleSystem:getStartSpinVar () end ---* Gets the radial acceleration variance.
---* return The radial acceleration variance. ---@return float function ParticleSystem:getRadialAccelVar () end ---* Gets the end size variance in pixels of each particle.
---* return The end size variance in pixels of each particle. ---@return float function ParticleSystem:getEndSizeVar () end ---* Sets the tangential acceleration.
---* param t The tangential acceleration. ---@param t float ---@return self function ParticleSystem:setTangentialAccel (t) end ---* Gets the radial acceleration.
---* return The radial acceleration. ---@return float function ParticleSystem:getRadialAccel () end ---* Sets the start radius.
---* param startRadius The start radius. ---@param startRadius float ---@return self function ParticleSystem:setStartRadius (startRadius) end ---* Sets the number of degrees to rotate a particle around the source pos per second.
---* param degrees The number of degrees to rotate a particle around the source pos per second. ---@param degrees float ---@return self function ParticleSystem:setRotatePerSecond (degrees) end ---* Sets the end size in pixels of each particle.
---* param endSize The end size in pixels of each particle. ---@param endSize float ---@return self function ParticleSystem:setEndSize (endSize) end ---* Gets the gravity.
---* return The gravity. ---@return vec2_table function ParticleSystem:getGravity () end ---* ---@return self function ParticleSystem:resumeEmissions () end ---* Gets the tangential acceleration.
---* return The tangential acceleration. ---@return float function ParticleSystem:getTangentialAccel () end ---* Sets the end radius.
---* param endRadius The end radius. ---@param endRadius float ---@return self function ParticleSystem:setEndRadius (endRadius) end ---* Gets the speed.
---* return The speed. ---@return float function ParticleSystem:getSpeed () end ---* ---@return self function ParticleSystem:pauseEmissions () end ---* Gets the angle of each particle.
---* return The angle of each particle. ---@return float function ParticleSystem:getAngle () end ---* Sets the end color and end color variation of each particle.
---* param color The end color and end color variation of each particle. ---@param color color4f_table ---@return self function ParticleSystem:setEndColor (color) end ---* Sets the start spin of each particle.
---* param spin The start spin of each particle. ---@param spin float ---@return self function ParticleSystem:setStartSpin (spin) end ---* Sets how many seconds the emitter will run. -1 means 'forever'.
---* param duration The seconds that the emitter will run. -1 means 'forever'. ---@param duration float ---@return self function ParticleSystem:setDuration (duration) end ---* Initializes a system with a fixed number of particles ---@param numberOfParticles int ---@return boolean function ParticleSystem:initWithTotalParticles (numberOfParticles) end ---* ---@param count int ---@return self function ParticleSystem:addParticles (count) end ---* ---@param texture cc.Texture2D ---@return self function ParticleSystem:setTexture (texture) end ---* Gets the position variance of the emitter.
---* return The position variance of the emitter. ---@return vec2_table function ParticleSystem:getPosVar () end ---* Call the update method with no time.. ---@return self function ParticleSystem:updateWithNoTime () end ---* Whether or not the particle system is blend additive.
---* return True if the particle system is blend additive. ---@return boolean function ParticleSystem:isBlendAdditive () end ---* Gets the speed variance.
---* return The speed variance. ---@return float function ParticleSystem:getSpeedVar () end ---* Sets the particles movement type: Free or Grouped.
---* since v0.8
---* param type The particles movement type. ---@param type int ---@return self function ParticleSystem:setPositionType (type) end ---* ---@return self function ParticleSystem:stopSystem () end ---* Gets the source position of the emitter.
---* return The source position of the emitter. ---@return vec2_table function ParticleSystem:getSourcePosition () end ---* Sets the life variance of each particle.
---* param lifeVar The life variance of each particle. ---@param lifeVar float ---@return self function ParticleSystem:setLifeVar (lifeVar) end ---* Sets the maximum particles of the system.
---* param totalParticles The maximum particles of the system. ---@param totalParticles int ---@return self function ParticleSystem:setTotalParticles (totalParticles) end ---* Sets the end color variance of each particle.
---* param color The end color variance of each particle. ---@param color color4f_table ---@return self function ParticleSystem:setEndColorVar (color) end ---* Gets the index of system in batch node array.
---* return The index of system in batch node array. ---@return int function ParticleSystem:getAtlasIndex () end ---* Gets the start size in pixels of each particle.
---* return The start size in pixels of each particle. ---@return float function ParticleSystem:getStartSize () end ---* Sets the start spin variance of each particle.
---* param pinVar The start spin variance of each particle. ---@param pinVar float ---@return self function ParticleSystem:setStartSpinVar (pinVar) end ---* Kill all living particles. ---@return self function ParticleSystem:resetSystem () end ---* Sets the index of system in batch node array.
---* param index The index of system in batch node array. ---@param index int ---@return self function ParticleSystem:setAtlasIndex (index) end ---* Sets the tangential acceleration variance.
---* param t The tangential acceleration variance. ---@param t float ---@return self function ParticleSystem:setTangentialAccelVar (t) end ---* Sets the end radius variance.
---* param endRadiusVar The end radius variance. ---@param endRadiusVar float ---@return self function ParticleSystem:setEndRadiusVar (endRadiusVar) end ---* Gets the end radius.
---* return The end radius. ---@return float function ParticleSystem:getEndRadius () end ---* Whether or not the particle system is active.
---* return True if the particle system is active. ---@return boolean function ParticleSystem:isActive () end ---* Sets the radial acceleration variance.
---* param t The radial acceleration variance. ---@param t float ---@return self function ParticleSystem:setRadialAccelVar (t) end ---* Sets the start size in pixels of each particle.
---* param startSize The start size in pixels of each particle. ---@param startSize float ---@return self function ParticleSystem:setStartSize (startSize) end ---* Sets the speed.
---* param speed The speed. ---@param speed float ---@return self function ParticleSystem:setSpeed (speed) end ---* Gets the start spin of each particle.
---* return The start spin of each particle. ---@return float function ParticleSystem:getStartSpin () end ---* ---@return string function ParticleSystem:getResourceFile () end ---* Gets the number of degrees to rotate a particle around the source pos per second.
---* return The number of degrees to rotate a particle around the source pos per second. ---@return float function ParticleSystem:getRotatePerSecond () end ---* Sets the mode of the emitter.
---* param mode The mode of the emitter. ---@param mode int ---@return self function ParticleSystem:setEmitterMode (mode) end ---* Gets how many seconds the emitter will run. -1 means 'forever'.
---* return The seconds that the emitter will run. -1 means 'forever'. ---@return float function ParticleSystem:getDuration () end ---* Sets the source position of the emitter.
---* param pos The source position of the emitter. ---@param pos vec2_table ---@return self function ParticleSystem:setSourcePosition (pos) end ---* ---@return self function ParticleSystem:stop () end ---* Update the verts position data of particle,
---* should be overridden by subclasses. ---@return self function ParticleSystem:updateParticleQuads () end ---* Gets the end spin variance of each particle.
---* return The end spin variance of each particle. ---@return float function ParticleSystem:getEndSpinVar () end ---* Sets the particle system blend additive.
---* param value True if the particle system is blend additive. ---@param value boolean ---@return self function ParticleSystem:setBlendAdditive (value) end ---* Sets the life of each particle.
---* param life The life of each particle. ---@param life float ---@return self function ParticleSystem:setLife (life) end ---* Sets the angle variance of each particle.
---* param angleVar The angle variance of each particle. ---@param angleVar float ---@return self function ParticleSystem:setAngleVar (angleVar) end ---* Sets the rotation of each particle to its direction.
---* param t True if the rotation is the direction. ---@param t boolean ---@return self function ParticleSystem:setRotationIsDir (t) end ---* / @{/ @name implement Playable Protocol ---@return self function ParticleSystem:start () end ---* Sets the end size variance in pixels of each particle.
---* param sizeVar The end size variance in pixels of each particle. ---@param sizeVar float ---@return self function ParticleSystem:setEndSizeVar (sizeVar) end ---* Sets the angle of each particle.
---* param angle The angle of each particle. ---@param angle float ---@return self function ParticleSystem:setAngle (angle) end ---* Sets the batch node.
---* param batchNode The batch node. ---@param batchNode cc.ParticleBatchNode ---@return self function ParticleSystem:setBatchNode (batchNode) end ---* Gets the tangential acceleration variance.
---* return The tangential acceleration variance. ---@return float function ParticleSystem:getTangentialAccelVar () end ---* Switch between different kind of emitter modes:
---* - kParticleModeGravity: uses gravity, speed, radial and tangential acceleration.
---* - kParticleModeRadius: uses radius movement + rotation.
---* return The mode of the emitter. ---@return int function ParticleSystem:getEmitterMode () end ---* Sets the end spin variance of each particle.
---* param endSpinVar The end spin variance of each particle. ---@param endSpinVar float ---@return self function ParticleSystem:setEndSpinVar (endSpinVar) end ---* initializes a ParticleSystem from a plist file.
---* This plist files can be created manually or with Particle Designer:
---* http:particledesigner.71squared.com/
---* since v0.99.3 ---@param plistFile string ---@return boolean function ParticleSystem:initWithFile (plistFile) end ---* Gets the angle variance of each particle.
---* return The angle variance of each particle. ---@return float function ParticleSystem:getAngleVar () end ---* Sets the start color of each particle.
---* param color The start color of each particle. ---@param color color4f_table ---@return self function ParticleSystem:setStartColor (color) end ---* Gets the rotate per second variance.
---* return The rotate per second variance. ---@return float function ParticleSystem:getRotatePerSecondVar () end ---* Gets the end size in pixels of each particle.
---* return The end size in pixels of each particle. ---@return float function ParticleSystem:getEndSize () end ---* Gets the life of each particle.
---* return The life of each particle. ---@return float function ParticleSystem:getLife () end ---* Are the emissions paused
---* return True if the emissions are paused, else false ---@return boolean function ParticleSystem:isPaused () end ---* Sets the speed variance.
---* param speed The speed variance. ---@param speed float ---@return self function ParticleSystem:setSpeedVar (speed) end ---* Set the particle system auto removed it self on finish.
---* param var True if the particle system removed self on finish. ---@param var boolean ---@return self function ParticleSystem:setAutoRemoveOnFinish (var) end ---* Sets the gravity.
---* param g The gravity. ---@param g vec2_table ---@return self function ParticleSystem:setGravity (g) end ---* Update the VBO verts buffer which does not use batch node,
---* should be overridden by subclasses. ---@return self function ParticleSystem:postStep () end ---* Sets the emission rate of the particles.
---* param rate The emission rate of the particles. ---@param rate float ---@return self function ParticleSystem:setEmissionRate (rate) end ---* Gets the end color variance of each particle.
---* return The end color variance of each particle. ---@return color4f_table function ParticleSystem:getEndColorVar () end ---* Whether or not the rotation of each particle to its direction.
---* return True if the rotation is the direction. ---@return boolean function ParticleSystem:getRotationIsDir () end ---* Gets the emission rate of the particles.
---* return The emission rate of the particles. ---@return float function ParticleSystem:getEmissionRate () end ---* Gets the end color and end color variation of each particle.
---* return The end color and end color variation of each particle. ---@return color4f_table function ParticleSystem:getEndColor () end ---* Gets the life variance of each particle.
---* return The life variance of each particle. ---@return float function ParticleSystem:getLifeVar () end ---* Sets the start size variance in pixels of each particle.
---* param sizeVar The start size variance in pixels of each particle. ---@param sizeVar float ---@return self function ParticleSystem:setStartSizeVar (sizeVar) end ---* Gets the start radius.
---* return The start radius. ---@return float function ParticleSystem:getStartRadius () end ---* Gets the Quantity of particles that are being simulated at the moment.
---* return The Quantity of particles that are being simulated at the moment. ---@return unsigned_int function ParticleSystem:getParticleCount () end ---* Gets the start radius variance.
---* return The start radius variance. ---@return float function ParticleSystem:getStartRadiusVar () end ---* js NA
---* lua NA ---@return cc.BlendFunc function ParticleSystem:getBlendFunc () end ---* Sets the start color variance of each particle.
---* param color The start color variance of each particle. ---@param color color4f_table ---@return self function ParticleSystem:setStartColorVar (color) end ---* Sets the end spin of each particle.
---* param endSpin The end spin of each particle. ---@param endSpin float ---@return self function ParticleSystem:setEndSpin (endSpin) end ---* Sets the radial acceleration.
---* param t The radial acceleration. ---@param t float ---@return self function ParticleSystem:setRadialAccel (t) end ---@overload fun(map_table:map_table,string:string):self ---@overload fun(map_table:map_table):self ---@param dictionary map_table ---@param dirname string ---@return boolean function ParticleSystem:initWithDictionary (dictionary,dirname) end ---* Whether or not the particle system removed self on finish.
---* return True if the particle system removed self on finish. ---@return boolean function ParticleSystem:isAutoRemoveOnFinish () end ---* ---@return boolean function ParticleSystem:isSourcePositionCompatible () end ---* Gets the maximum particles of the system.
---* return The maximum particles of the system. ---@return int function ParticleSystem:getTotalParticles () end ---* Sets the start radius variance.
---* param startRadiusVar The start radius variance. ---@param startRadiusVar float ---@return self function ParticleSystem:setStartRadiusVar (startRadiusVar) end ---* code
---* When this function bound into js or lua,the parameter will be changed
---* In js: var setBlendFunc(var src, var dst)
---* In lua: local setBlendFunc(local src, local dst)
---* endcode ---@param blendFunc cc.BlendFunc ---@return self function ParticleSystem:setBlendFunc (blendFunc) end ---* Gets the end radius variance.
---* return The end radius variance. ---@return float function ParticleSystem:getEndRadiusVar () end ---* Gets the start color variance of each particle.
---* return The start color variance of each particle. ---@return color4f_table function ParticleSystem:getStartColorVar () end ---* Creates an initializes a ParticleSystem from a plist file.
---* This plist files can be created manually or with Particle Designer:
---* http:particledesigner.71squared.com/
---* since v2.0
---* param plistFile Particle plist file name.
---* return An autoreleased ParticleSystem object. ---@param plistFile string ---@return self function ParticleSystem:create (plistFile) end ---* Create a system with a fixed number of particles.
---* param numberOfParticles A given number of particles.
---* return An autoreleased ParticleSystemQuad object.
---* js NA ---@param numberOfParticles int ---@return self function ParticleSystem:createWithTotalParticles (numberOfParticles) end ---* Gets all ParticleSystem references ---@return array_table function ParticleSystem:getAllParticleSystems () end ---* ---@param newScaleY float ---@return self function ParticleSystem:setScaleY (newScaleY) end ---* ---@param newScaleX float ---@return self function ParticleSystem:setScaleX (newScaleX) end ---* ---@return boolean function ParticleSystem:isOpacityModifyRGB () end ---* does the alpha value modify color ---@param opacityModifyRGB boolean ---@return self function ParticleSystem:setOpacityModifyRGB (opacityModifyRGB) end ---* ---@param s float ---@return self function ParticleSystem:setScale (s) end ---* ---@param dt float ---@return self function ParticleSystem:update (dt) end ---* initializes a ParticleSystem ---@return boolean function ParticleSystem:init () end ---* ---@param newRotation float ---@return self function ParticleSystem:setRotation (newRotation) end ---* js ctor ---@return self function ParticleSystem:ParticleSystem () end