public static ParticleOne getParticle(int animBaseSpeed = 100) { if (particleList == null) particleList = new ParticleOne[MAX_PARTICLES]; ParticleOne result = particleList[RXRandom.Int(MAX_PARTICLES)]; for (int x = 0; x < particleList.Length; x++) { if (particleList[x] == null) { ParticleOne p = new ParticleOne(); particleList[x] = p; result = p; break; } else if (!particleList[x].isActive) { result = particleList[x]; } } result.play("active"); result.currentAnim.delay = animBaseSpeed + (int)(RXRandom.Float() * 180); return result; }
public static ParticleOne getParticle(float lifeTime = 1f) { if (particleList == null) particleList = new ParticleOne[MAX_PARTICLES]; ParticleOne result = particleList[RXRandom.Int(MAX_PARTICLES)]; for (int x = 0; x < particleList.Length; x++) { if (particleList[x] == null) { ParticleOne p = new ParticleOne(); particleList[x] = p; result = p; break; } else if (!particleList[x].isActive) { result = particleList[x]; result.RemoveFromContainer(); } } result.color = Color.white; result.alpha = 1; Go.killAllTweensWithTarget(result); Go.to(result, lifeTime, new TweenConfig().floatProp("alpha", 0).setEaseType(EaseType.QuadIn).onComplete(() => { result.RemoveFromContainer(); result.isActive = false; })); result.play("active"); return result; }