void Update() { if (assetsPool.Loaded) { HashSet <Vector3> half_sx = new HashSet <Vector3>(); HashSet <Vector3> half_dx = new HashSet <Vector3>(); getLevel(ref half_sx, ref half_dx); foreach (var item in half_sx) { GameObject point = null; if (assetsPool.GetFreeObjectFromPool(eObjectType.COIN_SX, out point)) { point.transform.position = item; point.transform.rotation = Quaternion.identity; } } foreach (var item in half_dx) { GameObject point = null; if (assetsPool.GetFreeObjectFromPool(eObjectType.COIN_DX, out point)) { point.transform.position = item; point.transform.rotation = Quaternion.identity; } } enabled = false; } }
private IEnumerator ExplosionParticlesEffect(Vector2 hitPoint) { GameObject effect = null; if (assetsPool && assetsPool.GetFreeObjectFromPool(eObjectType.EXPLOSION, out effect)) { effect.transform.position = hitPoint; effect.transform.rotation = Quaternion.identity; effect.GetComponent <ParticleSystem>().Play(); // Play sound audioPlayer.PlayOneShot(explosionClip); yield return(new WaitForSeconds(explosionTime)); assetsPool.FreeObjectPool(eObjectType.EXPLOSION, effect); } yield return(null); }