River Jiang
2020-10-27 1f5eda1c9d22a3676298751c7282a5874f13bed0
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)