From 719a8a206e5167a28e5d968e13c38a3114082b7a Mon Sep 17 00:00:00 2001 From: chenxin <chenxin6991@163.com> Date: Sat, 14 Nov 2020 18:50:31 +0800 Subject: [PATCH] 坐标调整 --- Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs | 89 ++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 81 insertions(+), 8 deletions(-) diff --git a/Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs b/Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs index 35e5645..d9a67e8 100644 --- a/Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs +++ b/Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs @@ -42,8 +42,6 @@ protected int maxTower = 0; - private bool firstDeploy = false; - public static readonly int MAX_TOWERDIS = 5; // 开始出现技能塔的时间: @@ -90,7 +88,25 @@ 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> @@ -282,20 +298,69 @@ /// </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); + // cx test + // 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; @@ -303,9 +368,17 @@ 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> @@ -344,6 +417,6 @@ targetTower = getTowerByName(tname); // River: 随机找一个空白位置放置塔防。 - EndlessGameUI.instance.RandomPlaceTower(targetTower, x, y, lvl); + EndlessGameUI.instance.RandomPlaceTower(targetTower, x, y, lvl, -1, true); } } -- Gitblit v1.9.1