From 99aeeba01056d2d035274dbed58318edcd68a2bc Mon Sep 17 00:00:00 2001 From: chenxin <chenxin6991@163.com> Date: Wed, 09 Dec 2020 15:49:11 +0800 Subject: [PATCH] 简单解决泡泡禁锢bug --- Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs | 112 +++++++++++++++++++++++++++++--------------------------- 1 files changed, 58 insertions(+), 54 deletions(-) diff --git a/Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs b/Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs index 554cd95..992292d 100644 --- a/Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs +++ b/Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs @@ -14,8 +14,6 @@ // 当前类所在的Btn. public Button randomBtn; - public Button skillBtn; - /// <summary> /// 购买二级宝石的按钮贴图. /// </summary> @@ -39,9 +37,6 @@ // 开始出现技能塔的时间: public static float SKILL_TOWER_TIME = 30.0f; - // 购买之后直接出现2级宝石的时间. - public static float LEVELUP_TOWER_TIME = 10.0f; - protected System.Random mRandom; protected int rTowerIdx = 2; @@ -55,6 +50,8 @@ public Text NormalDesc; public Text SkillDesc; + + public ParticleSystem btnPS; // Start is called before the first frame update void Start() @@ -80,34 +77,28 @@ bSetBuyLvlUp = false; bCdTimeStart = false; randomBtn.onClick.AddListener(delegate () { onClick(EFeatureTower.NULL); }); - skillBtn.onClick.AddListener(delegate () { onClick(EFeatureTower.Skill_Bomb); }); UpdateDescDisplay(); } public void UpdateDescDisplay() { - int minLevel = EndlessGameUI.instance.MinLevel; + int minLevel = 0; + + if (EndlessUIStart.instance.GameStartTime >= JsonDataCenter.DOUBLE_GEM_TIME) + minLevel = Mathf.Min(EndlessGameUI.instance.MinLevel, 1); NormalDesc.text = $"购买{minLevel + 1}级宝石"; - //SkillDesc.text = $"购买{minLevel + 1}级技能宝石"; } public void ChangeBtnClickNormal() { randomBtn.onClick.RemoveAllListeners(); - skillBtn.onClick.RemoveAllListeners(); randomBtn.onClick.AddListener(delegate () { onClick(EFeatureTower.NULL); }); - skillBtn.onClick.AddListener(delegate () { onClick(EFeatureTower.Skill_Bomb); }); } public void ChangeBtnClick() { randomBtn.onClick.RemoveAllListeners(); - skillBtn.onClick.RemoveAllListeners(); randomBtn.onClick.AddListener(() => - { - AudioSourceManager.Ins.Play(AudioEnum.UIDisable); - }); - skillBtn.onClick.AddListener(() => { AudioSourceManager.Ins.Play(AudioEnum.UIDisable); }); @@ -167,7 +158,7 @@ if (name == this.towerArray[ti].towerName) return towerArray[ti]; - return GetRandomTower(EFeatureTower.NULL, true); + return GetRandomTower(EFeatureTower.NULL); } /// <summary> @@ -196,7 +187,7 @@ /// 根据规则生成一个随机的塔 /// </summary> /// <returns></returns> - public Tower GetRandomTower(EFeatureTower towerType, bool isRandom) + public Tower GetRandomTower(EFeatureTower towerType, bool isRandom = false) { int[] indexArr = { 0, 1, 2, 3, 4 }; @@ -224,10 +215,10 @@ /// </summary> public void onClick(EFeatureTower towerType) { - if (GameConfig.IsNewbie && !GameConfig.CanBuyNewTower) + if (GameConfig.IsNewbie) { - AudioSourceManager.Ins.Play(AudioEnum.UIDisable); - + AudioSourceManager.Ins.Play(AudioEnum.UI); + btnPS?.Play(); return; } @@ -238,41 +229,46 @@ if (!newTower) throw new Exception("未能成功产生Tower"); - 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; - } - } - } + RandomPlaceTower(newTower, -1, -1, -1, -1, true); - if (isFirstBuy) - { - //Debug.Log("首次购买:" + tmpTowerName); + btnPS?.Play(); - } - else - { - //Debug.Log("购买了多次了:" + tmpTowerName); - } - RandomPlaceTower(newTower, -1, -1, -1, -1, isFirstBuy); + // 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; + // } + // } + // } - } - else - { - RandomPlaceTower(newTower, -1, -1, -1, -1, false); - } + // 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>();//用来判断是否是首次购买宝石 @@ -288,8 +284,16 @@ if (gameUI.isBuilding) gameUI.CancelGhostPlacement(); - if (level == -1) - level = Mathf.Min(EndlessGameUI.instance.MinLevel, 1); + if (EndlessUIStart.instance.GameStartTime >= JsonDataCenter.DOUBLE_GEM_TIME) + { + if (level == -1) + level = Mathf.Min(EndlessGameUI.instance.MinLevel, 1); + } + else + { + if (level == -1) + level = 0; + } return gameUI.RandomPlaceTower(tower, posx, posy, level, cost, false, isFirstAppear); } -- Gitblit v1.9.1