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);
    }
Exemplo n.º 2
0
Arquivo: Bullet.cs Projeto: Fideos/U3D
 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);
            }
        }
    }
Exemplo n.º 4
0
 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);
    }
Exemplo n.º 6
0
 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...");
         }
     }
 }
Exemplo n.º 7
0
    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);
    }
Exemplo n.º 8
0
        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);
        }
    }
Exemplo n.º 10
0
    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--;
            }
        }
    }
Exemplo n.º 11
0
 void Start()
 {
     shooterEnemy = GameObject.FindGameObjectWithTag("shooterEnemy").GetComponent <ShooterEnemy>();
     rb           = GetComponent <Rigidbody2D>();
     rb.AddForce(shooterEnemy.getPos() * 1000);
 }
Exemplo n.º 12
0
        private void handleEnemyToShoot()
        {
            ShooterEnemy enemy = chooseEnemyShoot();

            tryToShoot(enemy);
        }