| | |
| | | if (!TryPlaceTower(pointerInfo, false, true)) |
| | | { |
| | | CancelPlaceTower(pointerInfo); |
| | | |
| | | Debug.Log("这里需要返回原位"); |
| | | return; |
| | | } |
| | |
| | | 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塔位的状态. |
| | |
| | | if (towerToMove) |
| | | { |
| | | towerToMove.showTower(true); |
| | | towerToMove.CheckCtrl(); |
| | | |
| | | // 处理复制骰子: |
| | | if (towerToMove.towerFeature == EFeatureTower.CopyCat) |