示例#1
0
        public static void Unlock(TowerType.Type type, int level, int price)
        {
            if (SettingHelper.GetAvailableFounds() < price)
            {
                Debug.LogError("Not enough founds");
                return;
            }

            SettingHelper.IncreaseSpendsFound(price);
            SettingHelper.SetUnlockedTowerLevel(type, level);
        }
        public void UpdateButton(TowerType.Type towerType, int towerLevel)
        {
            _towerLevel = towerLevel;
            _towerType  = towerType;

            ResourcesHelper.SetFeaturesFromTextFile(
                string.Format(TowerFeatureFile, towerType, towerLevel + 1),
                SetFeature
                );

            _needToUpdate = true;
        }
        public static Optional <int> GetUnlockTowerLevel(TowerType.Type type)
        {
            if (type == TowerType.Type.GROUND)
            {
                return(GetUnlockLevelOfGroundTower());
            }
            if (type == TowerType.Type.AIR_LIGHT)
            {
                return(GetUnlockLevelOfLightTower());
            }

            return(GetUnlockLevelOfHeavyTower());
        }
示例#4
0
        private void Spawn(TowerType.Type type, int towerLevel)
        {
            Debug.Log($"type: {type}, level: {towerLevel}");
            var index = (uint)type + (towerLevel - 1) * 3;

            //_towerHeight = towers[index].transform.localScale.y;
            _instantiateTower = Instantiate(
                towers[index],
                PositionHelper.OnTop(transform, 0.2f),
                Quaternion.identity
                );
            _instantiateTowerState       = _instantiateTower.GetComponent <TowerState>();
            _instantiateTowerState.Block = this;
        }
        public static void SetUnlockedTowerLevel(TowerType.Type type, int level)
        {
            var key = Key.GROUND_TOWER_LEVEL;

            if (type == TowerType.Type.AIR_LIGHT)
            {
                key = Key.LIGHT_TOWER_LEVEL;
            }
            else if (type == TowerType.Type.AIR_HEAVY)
            {
                key = Key.HEAVY_TOWER_LEVEL;
            }

            PlayerPrefs.SetInt(key, level);
        }
示例#6
0
 public void Spawn(TowerType.Type type)
 {
     Spawn(type, 1);
 }
示例#7
0
 private void BuildTower(TowerType.Type type)
 {
     _selectedBlock.Spawn(type);
     Messenger.Broadcast(GameEvent.PLAY);
 }