From 18f96c9313bf24d2296e615f44fc0ca005f2e872 Mon Sep 17 00:00:00 2001
From: liuzhiwei <liuzhiwei@qq.com>
Date: Thu, 12 Nov 2020 16:05:44 +0800
Subject: [PATCH] Merge branch 'master' of http://172.16.1.52:8090/r/GemBattle into master

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

diff --git a/Assets/Scripts/TowerDefense/UI/HUD/PlacementTile.cs b/Assets/Scripts/TowerDefense/UI/HUD/PlacementTile.cs
index e963605..63f5b9b 100644
--- a/Assets/Scripts/TowerDefense/UI/HUD/PlacementTile.cs
+++ b/Assets/Scripts/TowerDefense/UI/HUD/PlacementTile.cs
@@ -1,5 +1,7 @@
 using UnityEngine;
 using TowerDefense.Level;
+using UnityEditor;
+using KTGMGemClient;
 
 namespace TowerDefense.UI.HUD
 {
@@ -116,6 +118,10 @@
                 {
                     SetSelect(false);
                 }
+                else if (towerVSRenderer.enabled)
+                {
+                    towerVSRenderer.enabled = false;
+                }
             }
 
         }
@@ -124,9 +130,87 @@
         /// 设置当前材质
         /// </summary>
         /// <param name="isSelect"></param>
+        /// <param name="isEmpty"></param>
         public void SetSelect(bool isSelect)
         {
-            canPlaceRenderer.material = isSelect ? selectMat : canPlaceMat;
+            if (isSelect)
+            {
+                if (canPlaceRenderer.material != selectMat)
+                {
+                    canPlaceRenderer.material = selectMat;
+                }
+            }
+            else
+            {
+                if (canPlaceRenderer.material != canPlaceMat)
+                {
+                    canPlaceRenderer.material = canPlaceMat;
+                }
+                if (towerVSRenderer.enabled)
+                    towerVSRenderer.enabled = false;
+            }
+        }
+        /// <summary>
+        /// 塔的虚影
+        /// </summary>
+        public Renderer towerVSRenderer;
+
+        /// <summary>
+        /// 塔的虚影
+        /// </summary>
+        public Material towerVSMat;
+
+        public Texture fire, wood;
+
+
+        private Vector3 fireScale = new Vector3(1.02f, 0.926f, 1f);
+        private Vector3 woodScale = new Vector3(0.82f, 1.03f, 1f);
+        private Vector3 waterScale = new Vector3(1.0f, 1.0f, 1.88f);
+
+        private Vector3 fireOffectp = new Vector3(-0.05f, 0f, 0f);
+        private Vector3 woodOffectp = new Vector3(0.0f, 0f, 0.19f);
+        public void SetTowerVirtualshadow(string towerName)
+        {
+
+            if (towerName.StartsWith("GrowUpTower"))
+            {
+                if (!towerVSRenderer.enabled) towerVSRenderer.enabled = true;
+
+                //火元素
+                towerVSMat.SetTexture(shaderPropertyName, fire);
+                towerVSRenderer.transform.localScale = fireScale;
+                towerVSRenderer.transform.localPosition = fireOffectp;
+
+            }
+            else if (towerName.StartsWith("BlinkTower"))
+            {
+                if (!towerVSRenderer.enabled) towerVSRenderer.enabled = true;
+
+                //木元素
+                towerVSMat.SetTexture(shaderPropertyName, wood);
+                //木元素
+                towerVSRenderer.transform.localScale = woodScale;
+                towerVSRenderer.transform.localPosition = woodOffectp;
+
+            }
+            else if (towerName.StartsWith("CopyCatTower"))
+            {
+                //水元素
+
+            }
+        }
+        string shaderPropertyName;
+
+        /// <summary>
+        /// Start is called on the frame when a script is enabled just before
+        /// any of the Update methods is called the first time.
+        /// </summary>
+        void Start()
+        {
+            // shaderPropertyName = ShaderUtil.GetPropertyName(towerVSMat.shader, 0);
+            shaderPropertyName = "_MainTex";
+            //Debug.Log("获取到了Shader的名字" + shaderPropertyName);
+            towerVSRenderer.enabled = false;
         }
 
 

--
Gitblit v1.9.1