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