コード例 #1
0
    private IEnumerator IcebergCoroutine()
    {
        yield return(new WaitForSeconds(icebergFallSeconds));

        Vector3 destructionPosition = icebergSpawner.endPosition.position;

        destructionPosition.y = 0;
        GameObject iceDestructionParticles = Instantiate(iceDestructionPrefab, destructionPosition, iceDestructionPrefab.transform.rotation);

        Destroy(iceDestructionParticles, 2f);

        List <GameObject> enemies = _enemyHolder.enemies;

        for (int i = enemies.Count - 1; i >= 0; i--)
        {
            EnemyDebuff enemyDebuff = enemies[i].GetComponent <EnemyDebuff>();
            if (enemyDebuff != null)
            {
                enemyDebuff.Freeze(freezeDebuffDurationSeconds * effectMultiplier);
            }

            EnemyAnimator enemyAnimator = enemies[i].GetComponent <EnemyAnimator>();
            if (enemyAnimator != null)
            {
                enemyAnimator.Pause(freezeDebuffDurationSeconds * effectMultiplier);
            }

            Health health = enemies[i].GetComponent <Health>();
            health.Sub((int)(7f * effectMultiplier));
        }
    }