chenxin
2020-12-08 87fcdf345e1ee63161f0ca9378e837d05a8c0d18
Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
@@ -133,6 +133,11 @@
        public Image CritWord;
        /// <summary>
        /// 冰冻飘字
        /// </summary>
        public Image FrostWord;
        /// <summary>
        /// 购买塔防按钮上的Text.
        /// </summary>
        protected TextMeshProUGUI towerPriceText;
@@ -575,7 +580,7 @@
                if (tower.towerName != towerOld.towerName)
                    continue;
                newT = Instantiate(tower, transform);
                newT = tower;
                break;
            }
@@ -765,6 +770,27 @@
                }
            }
            return "";
        }
        /// <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>
@@ -1205,6 +1231,8 @@
                    towerToMove.Sell();
                    towerToMove = null;
                }
                if (m_CurrentTower != null && m_CurrentTower.controller != null)
                    Destroy(m_CurrentTower.controller.gameObject);
            }
            else if (EndlessLevelManager.instanceExists && IsSubstitute(pointerInfo))
            {
@@ -1280,6 +1308,9 @@
                    //强制交换塔的时候检查自身充能条
                    newTower1.CheckCtrl();
                    newTower2.CheckCtrl();
                    //Debug.Log($"newTower1:{newTower1.towerName}  newTower2:{newTower2.towerName}");
                    TowerPlacementGridEndless.instance.PlayPutPs(newTower2.gridPosition.x, newTower2.gridPosition.y);
                    return true;
                }
            }
@@ -2050,6 +2081,18 @@
            obj.GetComponent<TextMoveDoTween>().FloatCritWord(screenPos.x, screenPos.y);
        }
        /// <summary>
        /// 冰冻飘字
        /// </summary>
        /// <param name="worldPos"></param>
        public void FloatFrostWord(Vector3 worldPos)
        {
            Vector3 screenPos = m_Camera.WorldToScreenPoint(worldPos);
            GameObject obj = Instantiate(FrostWord.gameObject);
            obj.GetComponent<Transform>().SetParent(GameObject.Find("MainUI/TextPanel").GetComponent<Transform>(), false);
            obj.GetComponent<TextMoveDoTween>().FloatFrostWord(screenPos.x, screenPos.y);
        }
        private void Start()
        {
            // 获取相应的放置区域。