public ParticleSystem(LTexture defaultSprite, int maxParticles) { this.maxParticlesPerEmitter = maxParticles; sprite = defaultSprite; dummy = CreateParticle(this); }
public ParticleSystem(string defaultSpriteRef, int maxParticles, LColor mask) { this.maxParticlesPerEmitter = maxParticles; this.mask = mask; SetDefaultImageName(defaultSpriteRef); dummy = CreateParticle(this); }
public void UpdateParticle(Particle particle, long delta) { if (particle.GetLife() > 600) { particle.AdjustSize(0.07f * delta); } else { particle.AdjustSize(-0.04f * delta * (size / 40.0f)); } float c = 0.002f * delta; particle.AdjustColor(0, -c / 2, -c * 2, -c / 4); }
public void Release(Particle particle) { if (particle != dummy) { ParticlePool pool = (ParticlePool)CollectionUtils.Get(particlesByEmitter, particle .GetEmitter()); pool.available.Add(particle); } }