From 4101e5d0813177886f830a33c063ef80ab438c24 Mon Sep 17 00:00:00 2001
From: chenxin <chenxin6991@163.com>
Date: Wed, 18 Nov 2020 16:48:40 +0800
Subject: [PATCH] 购买宝石按钮文字,buff选择文字

---
 Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs |   80 +++++++++++++++++++++++++++++-----------
 1 files changed, 58 insertions(+), 22 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs b/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
index 6b4033b..3b69902 100644
--- a/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
+++ b/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
@@ -259,6 +259,10 @@
         /// </summary>
         public GameObject TowerAppearEffectPrefab;
 
+        public GameObject TowerUpgradeEffectPrefabGuide;//新手导航特效Layer是UI
+        public GameObject TowerAppearEffectPrefabGuide;//新手导航特效Layer是UI
+
+
         //首次购买宝石特效
         public GameObject fireAppearEffect1;
         public GameObject fireAppearEffect2;
@@ -268,7 +272,7 @@
         public GameObject woodAppearEffect1;
         public GameObject woodAppearEffect2;
         /// <summary>
-        /// 保存所有生成或合成的塔的最小等级,索引0 -> 火木水塔 索引1 -> 技能塔
+        /// 保存所有生成或合成的塔的最小等级
         /// </summary>
         /// <value></value>
         public int MinLevel;
@@ -878,29 +882,29 @@
             {
                 if (m_CurrentTower.controller.towerFeature == EFeatureTower.NULL)
                 {
-                    List<IntVector2> allTowerP = new List<IntVector2>();
-                    List<IntVector2> allPSTowerP = new List<IntVector2>();//需要播放升级动画的
+                    // List<IntVector2> allTowerP = new List<IntVector2>();//排除不能合成的
+                    // List<IntVector2> allPSTowerP = new List<IntVector2>();//需要播放升级动画的
 
-                    for (int i = 0; i < m_listTower.Count; i++)
-                    {
-                        if (m_listTower[i].bInAttackMode && towerToMove && m_listTower[i].currentLevel == dragTowerLevel && m_listTower[i].towerName == towerToMove.towerName)
-                        {
-                            if (towerToMove.gridPosition != m_listTower[i].gridPosition)
-                                //说明可以合成
-                                allPSTowerP.Add(m_listTower[i].gridPosition);
-                        }
-                        else
-                        {
-                            //把不符合条件的传进去
-                            allTowerP.Add(m_listTower[i].gridPosition);
-                        }
-                    }
+                    // for (int i = 0; i < m_listTower.Count; i++)
+                    // {
+                    //     if (m_listTower[i].bInAttackMode && towerToMove && m_listTower[i].currentLevel == dragTowerLevel && m_listTower[i].towerName == towerToMove.towerName)
+                    //     {
+                    //         if (towerToMove.gridPosition != m_listTower[i].gridPosition)
+                    //             //说明可以合成
+                    //             allPSTowerP.Add(m_listTower[i].gridPosition);
+                    //     }
+                    //     else
+                    //     {
+                    //         //把不符合条件的传进去
+                    //         allTowerP.Add(m_listTower[i].gridPosition);
+                    //     }
+                    // }
                     if (m_CurrentArea != null)
                     {
-                        (m_CurrentArea as TowerPlacementGridEndless).CheckAllCanPlace(allTowerP);
+                        //修改为只要开启格子都可以放
+                        (m_CurrentArea as TowerPlacementGridEndless).CheckAllCanPlace(null);
                         //(m_CurrentArea as TowerPlacementGridEndless).PlayPS(allPSTowerP);
                     }
-
 
                 }
                 else if (m_CurrentTower.controller.towerFeature == EFeatureTower.Skill_Fire || m_CurrentTower.controller.towerFeature == EFeatureTower.Skill_Bomb)
@@ -1029,7 +1033,10 @@
 
             // 判断目标位置是否有Tower且类型和等级一致,如果没有,则GhostTower删除,原Tower显示。
             if (isValidateCombineTarget(pointerInfo))
+            {
                 TryPlaceTower(pointerInfo);
+                EndlessRandomTower.instance.UpdateDescDisplay();
+            }
             else if (isFreeAttackGrid(pointerInfo) && !bSkill)
             {
                 if (!TryPlaceTower(pointerInfo, false, true))
@@ -1702,6 +1709,25 @@
             Destroy(obj, ps.main.duration);
         }
 
+        public void PlayAppearEffectGuide(Vector3 worldPos)
+        {
+            GameObject obj = Instantiate(TowerAppearEffectPrefabGuide);
+            obj.transform.position = worldPos;
+
+            Vector3 pos = obj.transform.position;
+            pos.y += 5f;
+            obj.transform.position = pos;
+
+            ParticleSystem ps = obj.GetComponent<ParticleSystem>();
+
+            if (ps == null)
+                ps = obj.transform.GetChild(0).GetComponent<ParticleSystem>();
+
+            ps.Play();
+
+            Destroy(obj, ps.main.duration);
+        }
+
         /// <summary>
         /// 播放宝石出现特效
         /// </summary>
@@ -1722,17 +1748,17 @@
             Destroy(obj, ps.main.duration);
         }
 
+
         /// <summary>
         /// 播放升级特效
         /// </summary>
         /// <param name="worldPos"></param>
         public void GuidePlayUpgradeEffect(Vector3 position)
         {
-            GameObject effect = TowerUpgradeEffectPrefab;
-
             // 在sTower的位置播放升级特效
-            GameObject obj = Instantiate(effect);
+            GameObject obj = Instantiate(TowerUpgradeEffectPrefabGuide);
             obj.transform.position = position;
+
             Vector3 pos = obj.transform.position;
             pos.y += 5f;
             obj.transform.position = pos;
@@ -1740,6 +1766,7 @@
 
             if (ps == null)
                 ps = obj.transform.GetChild(0).GetComponent<ParticleSystem>();
+
             ps.Play();
             Destroy(obj, ps.main.duration);
         }
@@ -1965,6 +1992,7 @@
             bool successfulPurchase = EndlessLevelManager.instance.Currency.TryPurchase(cost);
             if (!successfulPurchase) return false;
 
+            EndlessRandomTower.instance.UpdateDescDisplay();
             SetUpGhostTower(tow);
             //Debug.Log("设置影子塔防.");
             m_CurrentTower.Show();
@@ -2277,6 +2305,14 @@
                         }
                         //selEff.SetWaveLineSel(true);
                     }
+                    else
+                    {
+                        if (currentEffect != null)
+                        {
+                            currentEffect.SetParticleSystem(false);
+                            currentEffect = null;
+                        }
+                    }
                 }
                 // 炸弹是区域攻击显示:
                 else if (m_CurrentTower.controller.towerFeature == EFeatureTower.Skill_Bomb)

--
Gitblit v1.9.1