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 | 30 ++++++++++++++++++++++++++++-- 1 files changed, 28 insertions(+), 2 deletions(-) diff --git a/Assets/Scripts/TowerDefense/UI/HUD/PlacementTile.cs b/Assets/Scripts/TowerDefense/UI/HUD/PlacementTile.cs index e772287..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> /// 放置在当前位置 @@ -186,15 +187,20 @@ 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> @@ -263,6 +269,14 @@ towerVSRenderer.enabled = false; } + private GameObject buyMesh; + public GameObject BuyMesh + { + get + { + return buyMesh; + } + } /// <summary> /// 根据传入的参数来设置当前Grid对应的显示信息 @@ -274,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; @@ -288,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) @@ -299,6 +323,8 @@ public void BuyPs() { myOpenPS?.Play(); + AudioSourceManager.Ins.Play(AudioEnum.OpenTowerPlace); + EndlessRandomTower.instance.CheckMoney(); } public void PutPs() -- Gitblit v1.9.1