From ca7b565cd73e47a4c83189e35544c892b781cea1 Mon Sep 17 00:00:00 2001
From: wangguan <wangguan@kt007.com>
Date: Tue, 22 Dec 2020 10:00:23 +0800
Subject: [PATCH] 修改拖拽 增加未开启塔位增加红色标记

---
 Assets/Scripts/TowerDefense/UI/HUD/PlacementTile.cs |   38 ++++++++++++++++++++++++++++++++++++--
 1 files changed, 36 insertions(+), 2 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/UI/HUD/PlacementTile.cs b/Assets/Scripts/TowerDefense/UI/HUD/PlacementTile.cs
index 222feab..cc83a69 100644
--- a/Assets/Scripts/TowerDefense/UI/HUD/PlacementTile.cs
+++ b/Assets/Scripts/TowerDefense/UI/HUD/PlacementTile.cs
@@ -1,7 +1,6 @@
 using UnityEngine;
 using TowerDefense.Level;
-using UnityEditor;
-using KTGMGemClient;
+using Core.Utilities;
 
 namespace TowerDefense.UI.HUD
 {
@@ -57,6 +56,7 @@
         /// 可以放置的
         /// </summary>
         public Material canPlaceMat;
+        public Material canNotPlaceMat;
 
         /// <summary>
         /// 放置在当前位置
@@ -67,6 +67,13 @@
 
         public ParticleSystem myOpenPS;//购买后的特效
         public ParticleSystem myPutPS;//交换塔位置后的特效
+
+        public GameObject myDragSelectPS;//推拽时候移动到当前塔的特效
+
+        /// <summary>
+        /// 所在的格子坐标
+        /// </summary>
+        public IntVector2 GridPosition { get; set; }
 
         /// <summary>
         /// Update the state of this placement tile
@@ -165,15 +172,35 @@
             {
                 canPlaceRenderer.enabled = isOn;
             }
+            if (myDragSelectPS.activeSelf != isOn)
+            {
+                myDragSelectPS.SetActive(isOn);
+            }
+            // if (isOn)
+            // {
+            //     myDragSelectPS.Play();
+            // }
+            // else
+            // {
+            //     myDragSelectPS.Stop();
+            // }
+
             if (isOn && towerName != "")
             {
                 SetTowerVirtualshadow(towerName);
+                EndlessWaveLineManager.instance.SetWaveLineShow(GridPosition.x, true);
             }
             else if (!isOn && towerVSRenderer.enabled)
             {
                 towerVSRenderer.enabled = false;
+                EndlessWaveLineManager.instance.SetWaveLineShow(GridPosition.x, false);
             }
 
+        }
+
+        public void SetWarning(bool isOn)
+        {
+            canPlaceRenderer.material = isOn ? canNotPlaceMat : canPlaceMat;
         }
 
         /// <summary>
@@ -267,6 +294,11 @@
                         if (tileRenderer != null && openMat != null)
                             tileRenderer.sharedMaterial = openMat;
                     }
+
+                    if (canPlaceRenderer.material == canNotPlaceMat)
+                    {
+                        SetWarning(false);
+                    }
                     break;
                 case PlacementGridType.EGridDestroyed:
                     if (tileRenderer != null && destroyedMat != null)
@@ -278,6 +310,8 @@
         public void BuyPs()
         {
             myOpenPS?.Play();
+            AudioSourceManager.Ins.Play(AudioEnum.OpenTowerPlace);
+            EndlessRandomTower.instance.CheckMoney();
         }
 
         public void PutPs()

--
Gitblit v1.9.1