bool ParticleSystemEffect::checkParticleCountEndCondition(void) { if(getMaxParticles() >= 0.0f) { return getTheSystem()->getNumParticles() > getMaxParticles() || getTheSystem()->getNumParticles() <= getMinParticles(); } else { return getMaxParticles() < getMinParticles(); } return false; }
ParticleSpiralSystem() : wyQuadParticleSystem(500){ // duration setDuration(PARTICLE_DURATION_INFINITY); // angle setDirectionAngleVariance(90, 0); // speed of particles setSpeedVariance(150, 0); // radial setRadialAccelerationVariance(-380, 0); // tagential setTangentialAccelerationVariance(45, 0); // life of particles setLifeVariance(12, 0); // size, in pixels setStartSizeVariance(20, 0); // emits per second setEmissionRate(getMaxParticles() / getLife()); // color of particles setStartColorVariance(0.5f, 0.5f, 0.5f, 1.0f, 0.5f, 0.5f, 0.5f, 0.0f); setEndColorVariance(0.5f, 0.5f, 0.5f, 1.0f, 0.5f, 0.5f, 0.5f, 0.0f); //set texture setTexture(wyTexture2D::makePNG(RES("R.drawable.fire"))); // additive setBlendAdditive(false); }
ParticleFireSystem() : wyQuadParticleSystem(250){ // duration setDuration(PARTICLE_DURATION_INFINITY); // angle setDirectionAngleVariance(90, 10); // life of particles setLifeVariance(3.0f, 0.25f); // speed of particles setSpeedVariance(60, 20); // size, in pixels setStartSizeVariance(100.0f, 10.0f); // emits per frame setEmissionRate(getMaxParticles() / getLife()); // color of particles setStartColorVariance(0.76f, 0.25f, 0.12f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f); setEndColorVariance(0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f); //set texture setTexture(wyTexture2D::makePNG(RES("R.drawable.fire"))); // additive setBlendAdditive(true); }
ParticleSmokeSystem() : wyQuadParticleSystem(200){ // duration setDuration(PARTICLE_DURATION_INFINITY); // angle setDirectionAngleVariance(90, 5); // position var setParticlePositionVariance(0, 0, 20, 0); // life of particles setLifeVariance(4, 1); // speed of particles setSpeedVariance(25, 10); // size, in pixels setStartSizeVariance(60, 10); // emits per frame setEmissionRate(getMaxParticles() / getLife()); // color of particles setStartColorVariance(0.8f, 0.8f, 0.8f, 1.0f, 0.02f, 0.02f, 0.02f, 0.0f); setEndColorVariance(0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f); //set texture setTexture(wyTexture2D::makePNG(RES("R.drawable.fire"))); // additive setBlendAdditive(false); }
ParticleExplosionSystem() : wyQuadParticleSystem(700){ // duration setDuration(0.1f); // gravity setParticleGravity(0, -100); // angle setDirectionAngleVariance(90, 360); // speed of particles setSpeedVariance(70, 40); // life of particles setLifeVariance(5.0f, 2.0f); // size, in pixels setStartSizeVariance(15.0f, 10.0f); // emits per second setEmissionRate(getMaxParticles() / getDuration()); // color of particles setStartColorVariance(0.7f, 0.1f, 0.2f, 1.0f, 0.5f, 0.5f, 0.5f, 0.0f); setEndColorVariance(0.5f, 0.5f, 0.5f, 0.0f, 0.5f, 0.5f, 0.5f, 0.0f); //set texture setTexture(wyTexture2D::makePNG(RES("R.drawable.stars"))); }
ParticleMeteorSystem() : wyQuadParticleSystem(150) { // duration setDuration(PARTICLE_DURATION_INFINITY); // gravity setParticleGravity(DP(-133.33f), DP(133.33f)); // angle setDirectionAngleVariance(90, 360); // speed of particles setSpeedVariance(DP(10), DP(3.33f)); // life of particles setLifeVariance(2, 1); // size, in pixels setStartSizeVariance(DP(40.0f), DP(6.6f)); // emits per second setEmissionRate(getMaxParticles() / getLife()); // color of particles setStartColorVariance(0.2f, 0.4f, 0.7f, 1.0f, 0.0f, 0.0f, 0.2f, 0.1f); setEndColorVariance(0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f); //set texture setTexture(wyTexture2D::makePNG(RES("R.drawable.fire"))); // additive setBlendAdditive(true); }
ParticleFireworkSystem() : wyQuadParticleSystem(300){ // duration setDuration(PARTICLE_DURATION_INFINITY); // gravity setParticleGravity(0, -90); // angle setDirectionAngleVariance(90, 20); // speed of particles setSpeedVariance(180, 50); // life of particles setLifeVariance(3.5f, 1.0f); // emits per frame setEmissionRate(getMaxParticles() / getLife()); // color of particles setStartColorVariance(0.5f, 0.5f, 0.5f, 1.0f, 0.5f, 0.5f, 0.5f, 1.0f); setEndColorVariance(0.1f, 0.1f, 0.1f, 0.2f, 0.1f, 0.1f, 0.1f, 0.2f); // size, in pixels setStartSizeVariance(8.0f, 2.0f); setEndSizeVariance(PARTICLE_START_SIZE_EQUAL_TO_END_SIZE, 0); // emits per second setEmissionRate(getMaxParticles() / getLife()); //set texture setTexture(wyTexture2D::makePNG(RES("R.drawable.fire"))); // additive setBlendAdditive(false); }
ParticleSnowSystem() : wyQuadParticleSystem(700){ // duration setDuration(PARTICLE_DURATION_INFINITY); // gravity setParticleGravity(0, -10); // angle setDirectionAngleVariance(-90, 5); // speed of particles setSpeedVariance(130, 30); // radial setRadialAccelerationVariance(0, 1); // tagential setTangentialAccelerationVariance(0, 1); // emitter position setParticlePositionVariance(0, 0, wyDevice::winWidth / 2, 0); // life of particles setLifeVariance(3, 1); // size, in pixels setStartSizeVariance(10, 5); // emits per second setEmissionRate(getMaxParticles() / getLife()); // color of particles setStartColorVariance(0.9f, 0.9f, 0.9f, 1.0f, 0.0f, 0.0f, 0.1f, 0.0f); setEndColorVariance(1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); //set texture setTexture(wyTexture2D::makePNG(RES("R.drawable.snow"))); // additive setBlendAdditive(false); }
void ParticleEffectEntityItem::appendSubclassData(OctreePacketData* packetData, EncodeBitstreamParams& params, EntityTreeElementExtraEncodeData* entityTreeElementExtraEncodeData, EntityPropertyFlags& requestedProperties, EntityPropertyFlags& propertyFlags, EntityPropertyFlags& propertiesDidntFit, int& propertyCount, OctreeElement::AppendState& appendState) const { bool successPropertyFits = true; APPEND_ENTITY_PROPERTY(PROP_COLOR, getColor()); APPEND_ENTITY_PROPERTY(PROP_EMITTING_PARTICLES, getIsEmitting()); APPEND_ENTITY_PROPERTY(PROP_SHAPE_TYPE, (uint32_t)getShapeType()); APPEND_ENTITY_PROPERTY(PROP_MAX_PARTICLES, getMaxParticles()); APPEND_ENTITY_PROPERTY(PROP_LIFESPAN, getLifespan()); APPEND_ENTITY_PROPERTY(PROP_EMIT_RATE, getEmitRate()); APPEND_ENTITY_PROPERTY(PROP_EMIT_ACCELERATION, getEmitAcceleration()); APPEND_ENTITY_PROPERTY(PROP_ACCELERATION_SPREAD, getAccelerationSpread()); APPEND_ENTITY_PROPERTY(PROP_PARTICLE_RADIUS, getParticleRadius()); APPEND_ENTITY_PROPERTY(PROP_TEXTURES, getTextures()); APPEND_ENTITY_PROPERTY(PROP_RADIUS_SPREAD, getRadiusSpread()); APPEND_ENTITY_PROPERTY(PROP_RADIUS_START, getRadiusStart()); APPEND_ENTITY_PROPERTY(PROP_RADIUS_FINISH, getRadiusFinish()); APPEND_ENTITY_PROPERTY(PROP_COLOR_SPREAD, getColorSpread()); APPEND_ENTITY_PROPERTY(PROP_COLOR_START, getColorStart()); APPEND_ENTITY_PROPERTY(PROP_COLOR_FINISH, getColorFinish()); APPEND_ENTITY_PROPERTY(PROP_ALPHA, getAlpha()); APPEND_ENTITY_PROPERTY(PROP_ALPHA_SPREAD, getAlphaSpread()); APPEND_ENTITY_PROPERTY(PROP_ALPHA_START, getAlphaStart()); APPEND_ENTITY_PROPERTY(PROP_ALPHA_FINISH, getAlphaFinish()); APPEND_ENTITY_PROPERTY(PROP_EMIT_SPEED, getEmitSpeed()); APPEND_ENTITY_PROPERTY(PROP_SPEED_SPREAD, getSpeedSpread()); APPEND_ENTITY_PROPERTY(PROP_EMIT_ORIENTATION, getEmitOrientation()); APPEND_ENTITY_PROPERTY(PROP_EMIT_DIMENSIONS, getEmitDimensions()); APPEND_ENTITY_PROPERTY(PROP_EMIT_RADIUS_START, getEmitRadiusStart()); APPEND_ENTITY_PROPERTY(PROP_POLAR_START, getPolarStart()); APPEND_ENTITY_PROPERTY(PROP_POLAR_FINISH, getPolarFinish()); APPEND_ENTITY_PROPERTY(PROP_AZIMUTH_START, getAzimuthStart()); APPEND_ENTITY_PROPERTY(PROP_AZIMUTH_FINISH, getAzimuthFinish()); APPEND_ENTITY_PROPERTY(PROP_EMITTER_SHOULD_TRAIL, getEmitterShouldTrail()); }
ParticleRotateFlowerSystem() : wyQuadParticleSystem(50){ // duration setDuration(PARTICLE_DURATION_INFINITY); // Gravity mode: speed of particles setSpeedVariance(160, 20); // Gravity mode: radial setRadialAccelerationVariance(-120, 0); // Gravity mode: tagential setTangentialAccelerationVariance(30, 0); // angle setDirectionAngleVariance(90, 360); // life of particles setLifeVariance(3, 1); // spin of particles setEndSpinVariance(0, 2000); // color of particles setStartColorVariance(0.5f, 0.5f, 0.5f, 1.0f, 0.5f, 0.5f, 0.5f, 1.0f); setEndColorVariance(0.1f, 0.1f, 0.1f, 0.2f, 0.1f, 0.1f, 0.1f, 0.2f); // size, in pixels setStartSizeVariance(30, 0); setEndSizeVariance(PARTICLE_START_SIZE_EQUAL_TO_END_SIZE, 0); // emits per second setEmissionRate(getMaxParticles() / getLife()); //set texture setTexture(wyTexture2D::makePNG(RES("R.drawable.stars2"))); // additive setBlendAdditive(false); }
void ParticleEffectEntityItem::appendSubclassData(OctreePacketData* packetData, EncodeBitstreamParams& params, EntityTreeElementExtraEncodeData* modelTreeElementExtraEncodeData, EntityPropertyFlags& requestedProperties, EntityPropertyFlags& propertyFlags, EntityPropertyFlags& propertiesDidntFit, int& propertyCount, OctreeElement::AppendState& appendState) const { bool successPropertyFits = true; APPEND_ENTITY_PROPERTY(PROP_COLOR, getColor()); APPEND_ENTITY_PROPERTY(PROP_ANIMATION_FPS, getAnimationFPS()); APPEND_ENTITY_PROPERTY(PROP_ANIMATION_FRAME_INDEX, getAnimationFrameIndex()); APPEND_ENTITY_PROPERTY(PROP_ANIMATION_PLAYING, getAnimationIsPlaying()); APPEND_ENTITY_PROPERTY(PROP_ANIMATION_SETTINGS, getAnimationSettings()); APPEND_ENTITY_PROPERTY(PROP_SHAPE_TYPE, (uint32_t)getShapeType()); APPEND_ENTITY_PROPERTY(PROP_MAX_PARTICLES, getMaxParticles()); APPEND_ENTITY_PROPERTY(PROP_LIFESPAN, getLifespan()); APPEND_ENTITY_PROPERTY(PROP_EMIT_RATE, getEmitRate()); APPEND_ENTITY_PROPERTY(PROP_EMIT_DIRECTION, getEmitDirection()); APPEND_ENTITY_PROPERTY(PROP_EMIT_STRENGTH, getEmitStrength()); APPEND_ENTITY_PROPERTY(PROP_LOCAL_GRAVITY, getLocalGravity()); APPEND_ENTITY_PROPERTY(PROP_PARTICLE_RADIUS, getParticleRadius()); APPEND_ENTITY_PROPERTY(PROP_TEXTURES, getTextures()); }
ParticleModernArtSystem() : wyQuadParticleSystem(1000){ // duration setDuration(PARTICLE_DURATION_INFINITY); // Gravity mode: radial setRadialAccelerationVariance(70, 10); // Gravity mode: tangential setTangentialAccelerationVariance(80, 0); // Gravity mode: speed of particles setSpeedVariance(50, 10); // angle setDirectionAngleVariance(0, 360); // life of particles setLifeVariance(2.0f, 0.3f); // emits per frame setEmissionRate(getMaxParticles() / getLife()); // color of particles setStartColorVariance(0.5f, 0.5f, 0.5f, 1.0f, 0.5f, 0.5f, 0.5f, 1.0f); setEndColorVariance(0.1f, 0.1f, 0.1f, 0.2f, 0.1f, 0.1f, 0.1f, 0.2f); // size, in pixels setStartSizeVariance(1.0f, 1.0f); setEndSizeVariance(32.0f, 8.0f); //set texture setTexture(wyTexture2D::makePNG(RES("R.drawable.fire"))); // additive setBlendAdditive(false); }