public ChaserEnemy TryToGetEnemyChaser() { ChaserEnemy _toReturn = null; for (int index = 0; index < listEnemyChaserPool.Count; index++) { ChaserEnemy _possibleEnemyChaser = listEnemyChaserPool[index]; if (!_possibleEnemyChaser.gameObject.activeSelf) { _toReturn = _possibleEnemyChaser; break; } } if (_toReturn == null) { _toReturn = Instantiate(enemyChaserPrefab); _toReturn.transform.SetParent(_enemyChaserHolder.transform); listEnemyChaserPool.Add(_toReturn); } _toReturn.gameObject.SetActive(true); return(_toReturn); }
public void AddLifeBar() { if (!HasLifeBar(GameInstances.GetPlayer())) { LifeBarInfo _lifeBar = GameInstances.instance.poolSystemInstance.TryToGetLifeBar(); _lifeBar.owner = GameInstances.GetPlayer(); listLifeBarInfo.Add(_lifeBar); } for (int i = 0; i < GameInstances.instance.listShooterEnemies.Count; i++) { ShooterEnemy enemyIndex = GameInstances.instance.listShooterEnemies[i]; if (!HasLifeBar(enemyIndex)) { LifeBarInfo _lifeBar = GameInstances.instance.poolSystemInstance.TryToGetLifeBar(); _lifeBar.owner = enemyIndex; listLifeBarInfo.Add(_lifeBar); } } for (int i = 0; i < GameInstances.instance.listChaserEnemies.Count; i++) { ChaserEnemy enemyIndex = GameInstances.instance.listChaserEnemies[i]; if (!HasLifeBar(enemyIndex)) { LifeBarInfo _lifeBar = GameInstances.instance.poolSystemInstance.TryToGetLifeBar(); _lifeBar.owner = enemyIndex; listLifeBarInfo.Add(_lifeBar); } } }
public void SpawnEnemyChaser() { int _randomIndex = Random.Range(0, GameInstances.instance.spawnPoints.Length); ChaserEnemy _chaserEnemy = GameInstances.instance.poolSystemInstance.TryToGetEnemyChaser(); _chaserEnemy.transform.position = GameInstances.instance.spawnPoints[_randomIndex].position; _chaserEnemy.colliderShip.enabled = true; _chaserEnemy.aiDestination.enabled = true; _chaserEnemy.aiDestination.enabled = true; _chaserEnemy.aiPath.enabled = true; GameInstances.instance.listChaserEnemies.Add(_chaserEnemy); }
public void InitializePool() { _bulletsHolder = new GameObject("Bullets Pool"); _bulletsHolder.transform.position = Vector2.zero; for (int index = 0; index <= initialAmountBullets; index++) { Bullet _bullet = Instantiate(bulletPrefab); _bullet.transform.SetParent(_bulletsHolder.transform); _bullet.gameObject.SetActive(false); listBulletPool.Add(_bullet); } _bulletsImpactsHolder = new GameObject("Bullets Impacts Pool"); _bulletsImpactsHolder.transform.position = Vector2.zero; for (int index = 0; index <= initialAmountbulletsImpacts; index++) { GameObject _bulletImpact = Instantiate(bulletImpactPrefab); _bulletImpact.transform.SetParent(_bulletsImpactsHolder.transform); _bulletImpact.gameObject.SetActive(false); listBulletImpactPool.Add(_bulletImpact); } lifeBarHolder.transform.parent = GameInstances.instance.uiManagerInstance.canvas; lifeBarHolder.transform.localScale = Vector2.one; for (int index = 0; index <= initialAmountLifeBars; index++) { LifeBarInfo _lifeBar = Instantiate(lifeBarPrefab, lifeBarHolder.transform); _lifeBar.gameObject.SetActive(false); listLifeBarPool.Add(_lifeBar); } _enemyShooterHolder = new GameObject("Enemy Shooter Pool"); _enemyShooterHolder.transform.position = Vector2.zero; for (int index = 0; index <= initialAmountShooter; index++) { ShooterEnemy _enemyShooter = Instantiate(enemyShooterPrefab, _enemyShooterHolder.transform); _enemyShooter.gameObject.SetActive(false); listEnemyShooterPool.Add(_enemyShooter); } _enemyChaserHolder = new GameObject("Enemy Chaser Pool"); _enemyChaserHolder.transform.position = Vector2.zero; for (int index = 0; index <= initialAmountChaser; index++) { ChaserEnemy _enemyChaser = Instantiate(enemyChaserPrefab, _enemyChaserHolder.transform); _enemyChaser.gameObject.SetActive(false); listEnemyChaserPool.Add(_enemyChaser); } }
public void CheckEnemiesDisabled() { for (int i = 0; i < listShooterEnemies.Count; i++) { ShooterEnemy _shooterEnemy = listShooterEnemies[i]; if (!_shooterEnemy.gameObject.activeSelf) { listShooterEnemies.RemoveAt(i); i--; } } for (int i = 0; i < listChaserEnemies.Count; i++) { ChaserEnemy _chaserEnemy = listChaserEnemies[i]; if (!_chaserEnemy.gameObject.activeSelf) { listChaserEnemies.RemoveAt(i); i--; } } }