public override void Attack() { if (!shellPool.IsPoolEmpty()) { Fire(); } else { PreSpawnShells(increaseShellCount); Fire(); } }
private void ShootLazers() { if (lazerPool.IsPoolEmpty()) { PopulatePool(); } SpawnableBase Lazer = lazerPool.GetInctance(); Lazer.transform.position = playerView.ShootPos.position; Lazer.gameObject.SetActive(true); }
private IEnumerator SpawnEnemies() { while (true) { if (!enemyPool.IsPoolEmpty()) { EnemyBase enemy = enemyPool.GetInctance(); enemy.transform.position = spawnPos[Random.Range(0, spawnPos.Count)].position; enemy.gameObject.SetActive(true); enemy.RestoreEnemy(); yield return(null); } yield return(new WaitForSeconds(1f)); } }
private IEnumerator Spawn() { while (true) { if (currentPool.IsPoolEmpty() == true) { PopulatePool(); } if (CanSpawn) { SpawnableBase currAsteroid = currentPool.GetInctance(); currAsteroid.SetPool(currentPool); currAsteroid.transform.position = levelView.SpawnPos[Random.Range(0, levelView.SpawnPos.Count)].position; currAsteroid.gameObject.SetActive(true); } yield return(new WaitForSecondsRealtime(currentLevel.LevelData.spawnRate)); } }