コード例 #1
0
    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);
    }
コード例 #2
0
    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);
            }
        }
    }
コード例 #3
0
    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);
    }
コード例 #4
0
    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);
        }
    }
コード例 #5
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--;
            }
        }
    }