From e371272a7885723c7b0ef31a20ae5d0fbead1d30 Mon Sep 17 00:00:00 2001 From: wangguan <wangguan@kt007.com> Date: Sat, 26 Dec 2020 16:58:41 +0800 Subject: [PATCH] 12.26第二次 --- Assets/Scripts/TowerDefense/UI/HUD/PlacementTile.cs | 45 +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 43 insertions(+), 2 deletions(-) diff --git a/Assets/Scripts/TowerDefense/UI/HUD/PlacementTile.cs b/Assets/Scripts/TowerDefense/UI/HUD/PlacementTile.cs index 6127e28..6a731c6 100644 --- a/Assets/Scripts/TowerDefense/UI/HUD/PlacementTile.cs +++ b/Assets/Scripts/TowerDefense/UI/HUD/PlacementTile.cs @@ -56,6 +56,7 @@ /// 可以放置的 /// </summary> public Material canPlaceMat; + public Material canNotPlaceMat; /// <summary> /// 放置在当前位置 @@ -66,6 +67,8 @@ public ParticleSystem myOpenPS;//购买后的特效 public ParticleSystem myPutPS;//交换塔位置后的特效 + + public GameObject myDragSelectPS;//推拽时候移动到当前塔的特效 /// <summary> /// 所在的格子坐标 @@ -169,17 +172,35 @@ { canPlaceRenderer.enabled = isOn; } + if (myDragSelectPS.activeSelf != isOn) + { + myDragSelectPS.SetActive(isOn); + } + // if (isOn) + // { + // myDragSelectPS.Play(); + // } + // else + // { + // myDragSelectPS.Stop(); + // } + if (isOn && towerName != "") { - SetTowerVirtualshadow(towerName); + //SetTowerVirtualshadow(towerName); EndlessWaveLineManager.instance.SetWaveLineShow(GridPosition.x, true); } - else if (!isOn && towerVSRenderer.enabled) + else if (!isOn) { towerVSRenderer.enabled = false; EndlessWaveLineManager.instance.SetWaveLineShow(GridPosition.x, false); } + } + + public void SetWarning(bool isOn) + { + canPlaceRenderer.material = isOn ? canNotPlaceMat : canPlaceMat; } /// <summary> @@ -248,6 +269,14 @@ towerVSRenderer.enabled = false; } + private GameObject buyMesh; + public GameObject BuyMesh + { + get + { + return buyMesh; + } + } /// <summary> /// 根据传入的参数来设置当前Grid对应的显示信息 @@ -259,6 +288,10 @@ switch (newtype) { case PlacementGridType.EGridWaitBuy: + GameObject prefab = Resources.Load<GameObject>("Prefabs/BuyMesh"); + buyMesh = Instantiate(prefab, transform); + //Debug.Log("未开启塔位" + buyMesh); + if (tileRenderer != null && waitBuyMat != null) tileRenderer.sharedMaterial = waitBuyMat; break; @@ -273,6 +306,12 @@ if (tileRenderer != null && openMat != null) tileRenderer.sharedMaterial = openMat; } + + SetWarning(false); + if (buyMesh != null) + { + Destroy(buyMesh); + } break; case PlacementGridType.EGridDestroyed: if (tileRenderer != null && destroyedMat != null) @@ -284,6 +323,8 @@ public void BuyPs() { myOpenPS?.Play(); + AudioSourceManager.Ins.Play(AudioEnum.OpenTowerPlace); + EndlessRandomTower.instance.CheckMoney(); } public void PutPs() -- Gitblit v1.9.1