From a11b7ff3fd7da751165fd6c0a99c987b7e856395 Mon Sep 17 00:00:00 2001
From: chenxin <chenxin6991@163.com>
Date: Thu, 19 Nov 2020 17:11:41 +0800
Subject: [PATCH] 置换的时候上面会出现一个塔 原地拖动塔,充能条消失

---
 Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs |   44 ++++++++++++++++++++++++++------------------
 1 files changed, 26 insertions(+), 18 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs b/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
index 0a9b0ed..0e15865 100644
--- a/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
+++ b/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
@@ -1051,7 +1051,6 @@
                 if (!TryPlaceTower(pointerInfo, false, true))
                 {
                     CancelPlaceTower(pointerInfo);
-
                     Debug.Log("这里需要返回原位");
                     return;
                 }
@@ -1077,30 +1076,38 @@
                     IntVector2 v1 = new IntVector2(towerToMove.gridPosition.x, towerToMove.gridPosition.y);
                     IntVector2 v2 = new IntVector2(sTower.gridPosition.x, sTower.gridPosition.y);
 
-                    Tower newTower1 = PlaceTowerForce(EndlessRandomTower.instance.getTowerByName(sTower.towerName), v1, sTower.currentLevel + 1, false);
-                    Tower newTower2 = PlaceTowerForce(m_CurrentTower.controller, v2, towerToMove.currentLevel + 1, false);
-
-                    if (towerToMove != null)
+                    if (m_CurrentArea == null)
                     {
-                        delTower(towerToMove);
+                        CancelGhostPlacement();
                         towerToMove.showTower(true);
-                        towerToMove.Sell();
-                        towerToMove = null;
                     }
+                    else
+                    {
+                        Tower newTower1 = PlaceTowerForce(EndlessRandomTower.instance.getTowerByName(sTower.towerName), v1, sTower.currentLevel + 1, false);
+                        Tower newTower2 = PlaceTowerForce(m_CurrentTower.controller, v2, towerToMove.currentLevel + 1, false);
 
-                    delTower(sTower);
-                    sTower.showTower(true);
-                    sTower.Sell();
-                    sTower = null;
+                        if (towerToMove != null)
+                        {
+                            delTower(towerToMove);
+                            towerToMove.showTower(true);
+                            towerToMove.Sell();
+                            towerToMove = null;
+                        }
 
-                    CancelGhostPlacement();
+                        delTower(sTower);
+                        sTower.showTower(true);
+                        sTower.Sell();
+                        sTower = null;
 
-                    newTower1.placementArea.Occupy(newTower1.gridPosition, newTower1.dimensions);
-                    newTower2.placementArea.Occupy(newTower2.gridPosition, newTower2.dimensions);
+                        CancelGhostPlacement();
 
-                    //强制交换塔的时候检查自身充能条
-                    newTower1.CheckCtrl();
-                    newTower2.CheckCtrl();
+                        newTower1.placementArea.Occupy(newTower1.gridPosition, newTower1.dimensions);
+                        newTower2.placementArea.Occupy(newTower2.gridPosition, newTower2.dimensions);
+
+                        //强制交换塔的时候检查自身充能条
+                        newTower1.CheckCtrl();
+                        newTower2.CheckCtrl();
+                    }
                 }
             }
             // 当前是Skill塔位的状态.
@@ -1214,6 +1221,7 @@
             if (towerToMove)
             {
                 towerToMove.showTower(true);
+                towerToMove.CheckCtrl();
 
                 // 处理复制骰子:
                 if (towerToMove.towerFeature == EFeatureTower.CopyCat)

--
Gitblit v1.9.1