public ShooterEnemy TryToGetEnemyShooter() { ShooterEnemy _toReturn = null; for (int index = 0; index < listEnemyShooterPool.Count; index++) { ShooterEnemy _possibleEnemyShooter = listEnemyShooterPool[index]; if (!_possibleEnemyShooter.gameObject.activeSelf) { _toReturn = _possibleEnemyShooter; break; } } if (_toReturn == null) { _toReturn = Instantiate(enemyShooterPrefab); _toReturn.transform.SetParent(_enemyShooterHolder.transform); listEnemyShooterPool.Add(_toReturn); } _toReturn.gameObject.SetActive(true); return(_toReturn); }
private void OnCollisionEnter(Collision other) { if (!hit) // Reformular mas tarde { if (other.gameObject.tag == "Enemy") { Enemy target = other.gameObject.GetComponent <Enemy>(); target.RecieveDamage(bulletDamage); hit = true; } else { if (other.gameObject.tag == "EnemyShooter") { ShooterEnemy target = other.gameObject.GetComponent <ShooterEnemy>(); target.RecieveDamage(bulletDamage); hit = true; } } } if (destroyOnCollision) { DestroyBullet(); } }
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); } } }
private void tryToShoot(ShooterEnemy i_Enemy) { if (i_Enemy.IsAlive && i_Enemy.Visible) { if (r_RandomBehavior.GetRandomNumber(0, (int)(1 / ChanceToShoot)) == 0) { i_Enemy.Shoot(); } } }
private void SpawnEnemy() { GameObject instance = Instantiate(enemy_prefab, gos.gameObject.transform); var gos_pos = gameObject.transform.position; instance.transform.position = new Vector2(gos_pos.x + Random.Range(min_x, max_x), gos_pos.y); ShooterEnemy enemy_script = instance.GetComponent <ShooterEnemy>(); float stop_pos = Random.Range(min_stop_y, max_stop_y); enemy_script.Initialize(stop_pos); }
private void CheckShooterEnemies() { for (int i = 0; i < shooterEnemies.Count; i++) { ShooterEnemy current = shooterEnemies[i].GetComponent <ShooterEnemy>(); if (current.GetHP() <= 0) { shooterEnemies.Remove(shooterEnemies[i]); //Debug.Log("An enemy has died, removing from list..."); } } }
public void SpawnEnemyShooter() { int _randomIndex = Random.Range(0, GameInstances.instance.spawnPoints.Length); ShooterEnemy _shooterEnemy = GameInstances.instance.poolSystemInstance.TryToGetEnemyShooter(); _shooterEnemy.transform.position = GameInstances.instance.spawnPoints[_randomIndex].position; _shooterEnemy.colliderShip.enabled = true; _shooterEnemy.aiDestination.enabled = true; _shooterEnemy.aiDestination.enabled = true; _shooterEnemy.aiPath.enabled = true; GameInstances.instance.listShooterEnemies.Add(_shooterEnemy); }
public override void OnInspectorGUI() { ShooterEnemy script = (ShooterEnemy)target; if (GUILayout.Button("ADD", GUILayout.MinWidth(100), GUILayout.Width(100))) { GameObject add = new GameObject(); add.transform.parent = script.transform; add.transform.position = script.transform.position; add.name = script.transform.childCount.ToString(); } }
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--; } } }
void Start() { shooterEnemy = GameObject.FindGameObjectWithTag("shooterEnemy").GetComponent <ShooterEnemy>(); rb = GetComponent <Rigidbody2D>(); rb.AddForce(shooterEnemy.getPos() * 1000); }
private void handleEnemyToShoot() { ShooterEnemy enemy = chooseEnemyShoot(); tryToShoot(enemy); }