Exemplo n.º 1
0
        public void BuildTower(TowerData towerData)
        {
            collider.enabled = false;

            _tower                        = TowersController.GetTowerToBuild(towerData.Type);
            _towerTransform               = _tower.transform;
            _towerTransform.parent        = _buildSpot;
            _towerTransform.localPosition = Vector3.zero;
            _towerTransform.localScale    = Vector3.one;
            _tower.Init(towerData.FireSpeed, towerData.FireDamage, towerData.FireDistance);
            GamePanel.Hide();
        }
Exemplo n.º 2
0
        //выстрел по противнику
        public void FireToEnemy(BaseTower tower, BaseEnemy enemy)
        {
            _bulletSprite.color = _matDedaultColor;

            _isFired       = true;
            _isTargetAlive = true;

            _tower          = tower;
            _enemy          = enemy;
            _target         = enemy.transform;
            _enemy.OnDeath += DeathTarget;

            transform.position = _tower.transform.position;
        }
Exemplo n.º 3
0
        public static BaseTower GetTowerToBuild(TowerType towerType)
        {
            BaseTower result = null;

            switch (towerType)
            {
            case TowerType.Tower1:
                result = _tower1Pool.GetObjectFromPool();
                break;

            case TowerType.Tower2:
                result = _tower2Pool.GetObjectFromPool();
                break;

            case TowerType.Tower3:
                result = _tower3Pool.GetObjectFromPool();
                break;

            default:
                result = _tower1Pool.GetObjectFromPool();
                break;
            }
            return(result);
        }