| | |
| | | |
| | | protected int maxTower = 0; |
| | | |
| | | private bool firstDeploy = false; |
| | | |
| | | public static readonly int MAX_TOWERDIS = 5; |
| | | |
| | | // 开始出现技能塔的时间: |
| | |
| | | bCdTimeStart = false; |
| | | |
| | | cdTimeBg.gameObject.SetActive(false); |
| | | |
| | | cdTimeText.text = ""; |
| | | |
| | | randomBtn.onClick.AddListener(onClick); |
| | | |
| | | } |
| | | |
| | | public void ChangeBtnClickNormal() |
| | | { |
| | | randomBtn.onClick.RemoveAllListeners(); |
| | | randomBtn.onClick.AddListener(onClick); |
| | | } |
| | | public void ChangeBtnClick() |
| | | { |
| | | randomBtn.onClick.RemoveAllListeners(); |
| | | randomBtn.onClick.AddListener(() => |
| | | { |
| | | AudioSourceManager.Ins.Play(AudioEnum.UIDisable); |
| | | }); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | public void onClick() |
| | | { |
| | | if (GameConfig.IsNewbie && !GameConfig.CanBuyNewTower) |
| | | { |
| | | AudioSourceManager.Ins.Play(AudioEnum.UIDisable); |
| | | |
| | | return; |
| | | } |
| | | |
| | | AudioSourceManager.Ins.Play(AudioEnum.UI); |
| | | |
| | | // 还没到技能时间,忽略掉技能宝石 |
| | | Tower newTower = GetRandomTower(EndlessUIStart.instance.GameStartTime <= SKILL_TOWER_TIME); |
| | | //Tower newTower = GetRandomTower(false); |
| | | |
| | | if (!newTower) |
| | | throw new Exception("未能成功产生Tower"); |
| | | |
| | | RandomPlaceTower(newTower); |
| | | |
| | | |
| | | if (newTower.towerFeature == EFeatureTower.NULL) |
| | | { |
| | | string tmpTowerName = newTower.towerName; |
| | | towerNameLis.Add(tmpTowerName); |
| | | int count = 0; |
| | | bool isFirstBuy = true; |
| | | for (int i = 0; i < towerNameLis.Count; i++) |
| | | { |
| | | if (towerNameLis[i] == tmpTowerName) |
| | | { |
| | | count++; |
| | | if (count == 2) |
| | | { |
| | | isFirstBuy = false; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (isFirstBuy) |
| | | { |
| | | //Debug.Log("首次购买:" + tmpTowerName); |
| | | |
| | | } |
| | | else |
| | | { |
| | | //Debug.Log("购买了多次了:" + tmpTowerName); |
| | | } |
| | | RandomPlaceTower(newTower, -1, -1, -1, -1, isFirstBuy); |
| | | |
| | | } |
| | | else |
| | | { |
| | | RandomPlaceTower(newTower, -1, -1, -1, -1, false); |
| | | } |
| | | } |
| | | |
| | | private List<string> towerNameLis = new List<string>();//用来判断是否是首次购买宝石 |
| | | |
| | | /// <summary> |
| | | /// 随机找一个空白位置放置塔防 |
| | | /// </summary> |
| | | /// <param name="tower"></param> |
| | | public bool RandomPlaceTower(Tower tower, int level = -1, int cost = -1) |
| | | public bool RandomPlaceTower(Tower tower, int level = -1, int cost = -1, int posx = -1, int posy = -1, bool isFirstAppear = false) |
| | | { |
| | | EndlessGameUI gameUI = EndlessGameUI.instance; |
| | | |
| | |
| | | gameUI.CancelGhostPlacement(); |
| | | |
| | | if (EndlessUIStart.instance.GameStartTime >= LEVELUP_TOWER_TIME) |
| | | return gameUI.RandomPlaceTower(tower, -1, -1, level == -1 ? 1 : level, cost); |
| | | { |
| | | if (level == -1) |
| | | level = Mathf.Min(EndlessGameUI.instance.MinLevel, 1); |
| | | } |
| | | else |
| | | return gameUI.RandomPlaceTower(tower, -1, -1, level == -1 ? 0 : level, cost); |
| | | { |
| | | if (level == -1) |
| | | level = 0; |
| | | } |
| | | |
| | | return gameUI.RandomPlaceTower(tower, posx, posy, level, cost, false, isFirstAppear); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | targetTower = getTowerByName(tname); |
| | | |
| | | // River: 随机找一个空白位置放置塔防。 |
| | | EndlessGameUI.instance.RandomPlaceTower(targetTower, x, y, lvl); |
| | | EndlessGameUI.instance.RandomPlaceTower(targetTower, x, y, lvl, -1, true); |
| | | } |
| | | } |