chenxin
2020-12-03 0bc89b87a59c3f1f394a54c0901868084463cf28
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位置在屏幕上坐标位置的偏移量。