void SpawnEnemiesFunc(EnemyType currentEnemyType) { if (currentWaveNumber < currentEnemyType.waveStart) { return; } if (Time.time >= currentEnemyType.nextEnemySpawnTime && currentEnemyType.enemyCount > 0) { currentEnemyType.enemyCount--; enemiesRemainingToSpawn--; enemiesRemainingAlive++; currentEnemyType.nextEnemySpawnTime = Time.time + currentEnemyType.timeBetweenSpawn; GameObject newUnit = poolScript.GetPoolObject(currentEnemyType.enemie); newUnit.GetComponent <ProgressBarScript>().currentHealth = newUnit.GetComponent <ProgressBarScript>().maxHealth; newUnit.GetComponent <ProgressBarScript>().OnDeath += OnEnemyDeath; newUnit.transform.position = spawnPosition.position; } }
void AttackAllNearEnemy() { List <GameObject> enemies = FindAllNearEnemy(); if (enemies == null) { return; } foreach (GameObject enemy in enemies) { GameObject newBullet = poolScript.GetPoolObject(bulletG); BulletScript newBulletScript = newBullet.GetComponent <BulletScript>(); newBulletScript.target = enemy; newBulletScript.attackDamage = attackDamage; newBulletScript.moveSpeed = bulletSpeed; newBullet.transform.position = shootPos.transform.position; AudioManager.instance.Play("Tower Shoot", true); } }