public Particle CreateSubstance(sSubstance substanceToRelase) { if (nextRelease <= Time.time && substanceToRelase != null) { // It is time to spawn a new particle. // Create the new particle object. Particle newParticle = ParticlePool.instance.RequestParticle(substanceToRelase); // Update particle parameters. Vector3 spawnPosition = transform.position; spawnPosition.z = 0f; newParticle.transform.position = spawnPosition; newParticle.ChangeSubstanceState(substanceToRelase); newParticle.rb.AddForce(transform.right * relaseForce); // Set the timer. nextRelease = Time.time + releaseInterval; return(newParticle); } else { return(null); } }