private IEnumerator SpawnSparkles() { if (!_spawnSparklesRunning) { _spawnSparklesRunning = true; //GetPointOfImpact(_groundChecker.PointOfCollision.transform, transform); if (_groundChecker.IsGrounded) { var lowestPoint = _pointsOfSparks.Min(c => c.transform.position.y); var pointsCloseToGround = _pointsOfSparks.Where(c => c.transform.position.y < (lowestPoint + _groundTolerance)); foreach (var pointsOfSpark in pointsCloseToGround) { InstatiateParticle(_effectsToSpawn, pointsOfSpark, false, _sparklesDestroyTimeout); } if (_delayManager.SoundReady) { //if (!isMuted) //print("StartingSound"); _currentAudio = SoundManager.PlaySFX(Pushing); _delayManager.AddSoundDelay(_delayFourPushingSound); } yield return(new WaitForSeconds(_sparklesSpawnCooldown)); } _spawnSparklesRunning = false; } }