private void Start() { _factory = ScriptableObject.CreateInstance <ParticleFactorySO>(); _pool = ScriptableObject.CreateInstance <ParticlePoolSO>(); _pool.name = gameObject.name; _pool.Factory = _factory; _pool.Prewarm(_initialPoolSize); List <ParticleSystem> particles = _pool.Request(2) as List <ParticleSystem>; foreach (ParticleSystem particle in particles) { StartCoroutine(DoParticleBehaviour(particle)); } }
private IEnumerator Start() { _factory = ScriptableObject.CreateInstance <ParticleFactorySO>(); _pool = ScriptableObject.CreateInstance <ParticlePoolSO>(); _pool.name = gameObject.name; _pool.Factory = _factory; _pool.SetParent(this.transform); _pool.Prewarm(_initialPoolSize); List <ParticleSystem> particles = _pool.Request(2) as List <ParticleSystem>; foreach (ParticleSystem particle in particles) { StartCoroutine(DoParticleBehaviour(particle)); } yield return(new WaitForSeconds(2)); _pool.SetParent(null); yield return(new WaitForSeconds(2)); _pool.SetParent(this.transform); }