From 365573827b56d63dcda3bfd5fd1ae674b9df4376 Mon Sep 17 00:00:00 2001
From: liuzhiwei <liuzhiwei@qq.com>
Date: Fri, 04 Dec 2020 11:01:15 +0800
Subject: [PATCH] Merge branch 'master' of http://172.16.1.52:8090/r/GemBattle into master

---
 Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs |   30 +++++++++++++++++++++++++-----
 1 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs b/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
index 9f9fc5b..1057116 100644
--- a/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
+++ b/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
@@ -1,11 +1,8 @@
-using System.Globalization;
-using Core.Health;
+using Core.Health;
 using Core.Input;
 using Core.Utilities;
-using DG.Tweening;
 using JetBrains.Annotations;
 using System;
-using System.Collections;
 using System.Collections.Generic;
 using TMPro;
 using TowerDefense.Level;
@@ -15,7 +12,6 @@
 using UnityEngine.EventSystems;
 using UnityEngine.UI;
 using TowerDefense.Nodes;
-using TowerDefense.Affectors;
 using KTGMGemClient;
 
 namespace TowerDefense.UI.HUD
@@ -687,6 +683,10 @@
                 // 判断格子上的塔防:
                 UIPointer pointer = WrapPointer(pinfo);
                 Tower sTower = PickTowerInGrid(pointer);
+
+                // 泡泡禁锢状态不允许合并
+                if (sTower && sTower.IsBondage) return false;
+
                 if (sTower && sTower != towerToMove)
                 {
                     int testLvl = dragTowerLevel;
@@ -710,6 +710,9 @@
                 // 判断格子上的塔防:
                 UIPointer pointer = WrapPointer(pinfo);
                 Tower sTower = PickTowerInGrid(pointer);
+
+                // 泡泡禁锢状态不允许置换
+                if (sTower && sTower.IsBondage) return false;
 
                 if (sTower && sTower != towerToMove)
                 {
@@ -2218,6 +2221,9 @@
             var controller = output.collider.GetComponent<Tower>();
             if (controller != null)
             {
+                // 泡泡禁锢状态不允许拖动
+                if (controller.IsBondage) return;
+
                 SelectTower(controller);
             }
 
@@ -2225,7 +2231,21 @@
             CalSelTowerScreenOffset(info, controller);
         }
 
+        public void OnPressed(PointerInfo info)
+        {
+            UIPointer uiPointer = WrapPointer(info);
+            RaycastHit output;
+            bool hasHit = Physics.Raycast(uiPointer.ray, out output, float.MaxValue, towerSelectionLayer);
 
+            if (uiPointer.overUI) return;
+
+            if (hasHit)
+            {
+                Tower controller = output.collider.GetComponent<Tower>();
+                if (controller != null)
+                    controller.OnPressed();
+            }
+        }
 
         /// <summary>
         /// 鼠标选中一个Tower的时候,计算当前鼠标位置与当前Tower位置在屏幕上坐标位置的偏移量。

--
Gitblit v1.9.1