public ParticleBehaviour SpawnParticle(ParticleObject particleObject, Transform transform) { ParticleBehaviour pb = SpawnParticle(particleObject, transform.position, transform.rotation); pb.transform.parent = transform; return(pb); }
public ParticleBehaviour Spawn(Transform transform) { ParticleBehaviour newParticle = Spawn(); newParticle.transform.parent = transform; newParticle.transform.localPosition = Vector3.zero; newParticle.transform.localRotation = Quaternion.identity; return(newParticle); }
public ParticleBehaviour Spawn(Vector3 position, Quaternion rotation) { ParticleBehaviour newParticle = Spawn(); newParticle.transform.position = position; newParticle.transform.rotation = rotation; newParticle.transform.parent = null; return(newParticle); }
ParticleBehaviour Spawn() { ParticleBehaviour newParticle = null; if (recycledParticleBehaviours.Count == 0) { newParticle = Instantiate(particlePrefab) as ParticleBehaviour; newParticle.SetParticlePool(this); } else { newParticle = recycledParticleBehaviours.Pop(); } newParticle.gameObject.SetActive(true); newParticle.Spawn(); return(newParticle); }
public void Recycle(ParticleBehaviour particleBehaviour) { recycledParticleBehaviours.Push(particleBehaviour); particleBehaviour.gameObject.SetActive(false); particleBehaviour.transform.parent = transform; }
public void InitializePool(ParticleBehaviour particlePrefab) { this.particlePrefab = particlePrefab; }