Exemplo n.º 1
0
    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;
        }
    }