From f9e3b913eb504615f4c87b09b2aa7fdc6e50fcbb Mon Sep 17 00:00:00 2001
From: wangguan <wangguan@kt007.com>
Date: Thu, 10 Dec 2020 15:56:11 +0800
Subject: [PATCH] 未上阵塔动作 开启塔位强行吸附Ghost 修改Ghost移动的射线检测

---
 Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs b/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
index 1ab09c4..c4d47cc 100644
--- a/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
+++ b/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
@@ -1036,6 +1036,9 @@
                         {
                             //鼠标检测到了塔
                             (m_CurrentArea as TowerPlacementGridEndless).CheckCanPlaceUpdate(m_GridPosition.x, m_GridPosition.y, false, "");
+
+                            m_CurrentTower.transform.position = (m_CurrentArea as TowerPlacementGridEndless).GridToWorld(m_GridPosition, m_CurrentTower.controller.dimensions);
+
                         }
                         else
                         {
@@ -1084,6 +1087,9 @@
                         {
                             //空格子
                             (m_CurrentArea as TowerPlacementGridEndless).CheckCanPlaceUpdate(m_GridPosition.x, m_GridPosition.y, true, towerToMove.towerName);
+
+                            m_CurrentTower.transform.position = (m_CurrentArea as TowerPlacementGridEndless).GridToWorld(m_GridPosition, m_CurrentTower.controller.dimensions);
+
                         }
                     }
                     else
@@ -2511,6 +2517,9 @@
             }
             else
             {
+                MoveGhostOntoWorld(npt.ray, hideWhenInvalid);
+
+                return;
                 // 根据技能塔的类型,来碰撞不同的数据:
                 // 火是列攻击:
                 if (m_CurrentTower.controller.towerFeature == EFeatureTower.Skill_Fire)
@@ -2548,7 +2557,6 @@
                         m_CurrentTower.fadeOutAttackArea();
                 }
 
-                MoveGhostOntoWorld(npt.ray, hideWhenInvalid);
             }
         }
 
@@ -2587,8 +2595,9 @@
             {
                 RaycastHit hit;
 
+                Physics.Raycast(ray, out hit, float.MaxValue);
                 // check against all layers that the ghost can be on
-                Physics.SphereCast(ray, sphereCastRadius, out hit, float.MaxValue, ghostWorldPlacementMask);
+                //Physics.SphereCast(ray, sphereCastRadius, out hit, float.MaxValue, ghostWorldPlacementMask);
                 if (hit.collider == null)
                 {
                     return;

--
Gitblit v1.9.1