From 1f5eda1c9d22a3676298751c7282a5874f13bed0 Mon Sep 17 00:00:00 2001 From: River Jiang <546213258@qq.com> Date: Tue, 27 Oct 2020 17:26:52 +0800 Subject: [PATCH] 加入充能、子弹进度条保持进度的功能 --- Assets/Scripts/TowerDefense/UI/HUD/GameUI.cs | 29 +++++++++++++++++++++++++++++ 1 files changed, 29 insertions(+), 0 deletions(-) diff --git a/Assets/Scripts/TowerDefense/UI/HUD/GameUI.cs b/Assets/Scripts/TowerDefense/UI/HUD/GameUI.cs index af04ff7..d8db3e8 100644 --- a/Assets/Scripts/TowerDefense/UI/HUD/GameUI.cs +++ b/Assets/Scripts/TowerDefense/UI/HUD/GameUI.cs @@ -192,6 +192,12 @@ protected Tower towerToMove = null; /// <summary> + /// UI界面对应的进度 + /// </summary> + protected int uiCtlProgresss = 0; + + + /// <summary> /// Fires when the <see cref="State"/> changes /// should only allow firing when TouchUI is used /// </summary> @@ -342,6 +348,10 @@ public void delTower(Tower t) { + // 删除Tower之前去掉充能条数据. + if( t.bInAttackMode) + t.DisableTowerUICtrl(); + // 删除Tower有可能对应的Timer. foreach (var tdata in towerTimeDic) { @@ -580,12 +590,21 @@ break; } + // + // 重设界面数据 + uiCtlProgresss = 0; // 从列表中删除Tower.并破坏Tower的外形。 dragTowerLevel = towerOld.currentLevel; // 尝试不再删除原来的Tower,而是尝试在合成成功后再删除原来的Tower towerOld.showTower(false); towerToMove = towerOld; + + if( towerOld.bInAttackMode) + { + int pro = towerOld.GetTowerUICtrlProgress(); + uiCtlProgresss = pro; + } // 先删除,再设置移动相关。 SetToDragMode(newT); @@ -835,7 +854,17 @@ // 开启相应的兵线: Tower tw = FindTowerWithGridIdx(m_GridPosition.x, m_GridPosition.y); if (tw != null) + { LevelManager.instance.startWaveLine(m_GridPosition.x, false, tw.attributeId); + + // 顺便设置界面的进展 + if (uiCtlProgresss > 0) + { + tw.SetTowerUICtlProcess(uiCtlProgresss); + Debug.Log("设置当前的进度:" + uiCtlProgresss); + uiCtlProgresss = 0; + } + } } // 当前是Skill塔位的状态. else if (bSkill) -- Gitblit v1.9.1