From 0bc89b87a59c3f1f394a54c0901868084463cf28 Mon Sep 17 00:00:00 2001 From: chenxin <chenxin6991@163.com> Date: Thu, 03 Dec 2020 16:55:20 +0800 Subject: [PATCH] boss技能 泡泡禁锢 --- 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..2f240a5 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.IsBondage) return false; + if (sTower && sTower != towerToMove) { int testLvl = dragTowerLevel; @@ -710,6 +710,9 @@ // 判断格子上的塔防: UIPointer pointer = WrapPointer(pinfo); Tower sTower = PickTowerInGrid(pointer); + + // 泡泡禁锢状态不允许置换 + if (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