From e5e16b76d8bee667f7e9b26bf6a816f66ba520d8 Mon Sep 17 00:00:00 2001 From: chenxin <chenxin6991@163.com> Date: Wed, 09 Dec 2020 18:14:58 +0800 Subject: [PATCH] 木桩瞄准特效大小 --- Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 52 insertions(+), 1 deletions(-) diff --git a/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs b/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs index d4374be..1ab09c4 100644 --- a/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs +++ b/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs @@ -137,6 +137,8 @@ /// </summary> public Image FrostWord; + public Image RestrainWord; + /// <summary> /// 购买塔防按钮上的Text. /// </summary> @@ -199,6 +201,7 @@ return m_CurrentTower != null; } } + // TowerList用于简单记录相关的数据 protected List<Tower> m_listTower = new List<Tower>(); @@ -773,6 +776,27 @@ } /// <summary> + /// 提升所有塔的等级,如果现在塔的等级 < level,设置等级为 level,如果 > level 不做改变 + /// </summary> + /// <param name="level">从0开始</param> + public void UpgradeAllTowerMinLevel(int level) + { + if (level < 0 || level > ElfUpgradeData.MaxTowerLevel - 1) return; + + for (int i = 0; i < m_listTower.Count; ++i) + { + if (m_listTower[i].currentLevel < level) + { + m_listTower[i].currentLevel = level; + m_listTower[i].CurrentTowerLevel.SetShowLevel(level + 1); + m_listTower[i].CurrentTowerLevel.SetScale(level + 1); + PlayUpgradeEffect(m_listTower[i]); + } + } + UpdateMinLevelArr(); + } + + /// <summary> /// 成长骰子升级为高一级别的随机骰子. /// </summary> /// <param name="tower"></param> @@ -1081,7 +1105,7 @@ } } - void CloseCanPlace() + public void CloseCanPlace() { dragTowerPlacement.CloseCanPlace(); if (bInAttackModeTower != null) @@ -1140,6 +1164,15 @@ } #endregion + + /// <summary> + /// 推拽结束,如果判断HasTower==true 就强行释放 + /// </summary> + public void EndDragCancelPlaceTower() + { + Debug.Log("强行释放了m_CurrentTower"); + CancelPlaceTower(null); + } /// <summary> /// 拖动一个Tower之后,松开鼠标或者EndDrag. @@ -1216,6 +1249,8 @@ else if (EndlessLevelManager.instanceExists && IsSubstitute(pointerInfo)) { CheckCanChangePos(pointerInfo); + if (EndlessUIStart.instance.GameStartTime >= JsonDataCenter.DOUBLE_GEM_TIME) + UpgradeAllTowerMinLevel(1); } // 当前是Skill塔位的状态. else if (bSkill) @@ -1287,6 +1322,9 @@ //强制交换塔的时候检查自身充能条 newTower1.CheckCtrl(); newTower2.CheckCtrl(); + //Debug.Log($"newTower1:{newTower1.towerName} newTower2:{newTower2.towerName}"); + + TowerPlacementGridEndless.instance.PlayPutPs(newTower2.gridPosition.x, newTower2.gridPosition.y); return true; } } @@ -1697,6 +1735,7 @@ public void PlayUpgradeEffect(Tower newTower) { newTower.CurrentTowerLevel.PlayUpGradeEffect(); + AudioSourceManager.Ins.Play(AudioEnum.Upgrade); } /// <summary> @@ -2069,6 +2108,18 @@ obj.GetComponent<TextMoveDoTween>().FloatFrostWord(screenPos.x, screenPos.y); } + /// <summary> + /// 克制飘字 + /// </summary> + /// <param name="worldPos"></param> + public void FloatRestrainWord(Vector3 worldPos) + { + Vector3 screenPos = m_Camera.WorldToScreenPoint(worldPos); + GameObject obj = Instantiate(RestrainWord.gameObject); + obj.GetComponent<Transform>().SetParent(GameObject.Find("MainUI/TextPanel").GetComponent<Transform>(), false); + obj.GetComponent<TextMoveDoTween>().FloatRestrainWord(screenPos.x, screenPos.y); + } + private void Start() { // 获取相应的放置区域。 -- Gitblit v1.9.1