Assets/Scripts/TowerDefense/Input/EndlessTowerDefenseTouchInput.cs
@@ -178,6 +178,17 @@
                        break;
                }
            }
            if (isRelease)
            {
                resetDragingTime += Time.deltaTime;
                if (resetDragingTime > 0.2f)
                {
                    isRelease = false;
                    resetDragingTime = 0;
                    ResetDraging();
                }
            }
        }
        /// <summary>
@@ -201,27 +212,26 @@
            }
        }
        float currentTimeScale = 1.0f;
        bool isRelease = false;
        float resetDragingTime;
        /// <summary>
        /// Called on input release, for flicks
        /// </summary>
        protected override void OnRelease(PointerActionInfo pointer)
        {
            // // EndDrag 只能放置相关的GhostTower.
            // if (this.isInDragState)
            //     m_GameUI.onEndTowerDrag(pointer);
            // //m_GameUI.TryPlaceTower(pointer);
            // this.isInDragState = false;
            // return;
            //Debug.Log($"OnRelease   isDraging:{isDraging}   this.isInDragState:{this.isInDragState}");
            //按照鼠标键盘的修改
            // EndDrag 只能放置相关的GhostTower.
            if (isDraging)
            {
            if (this.isInDragState)
            {
                EndlessUIStart.instance.SetDarkGround(false);
                AudioSourceManager.Ins.Play(AudioEnum.PutTower);
                    m_GameUI.CloseCanPlace();//关闭所有绿色底板
                m_GameUI.CloseCanPlaceRenderer();//关闭所有宝石示意
                m_GameUI.onEndTowerDrag(pointer);
@@ -230,7 +240,48 @@
                if (!GameConfig.IsNewbie)
                    Time.timeScale = currentTimeScale;
            }
                Debug.Log($"延迟0.2f执行ResetDraging isDraging:{isDraging}  isRelease:{isRelease}");
                //Invoke("ResetDraging", 0.2f);
                if (!isRelease)
                {
                    //Debug.Log("开始倒计时");
                    resetDragingTime = 0.0f;
                    isRelease = true;
                }
            }
        }
        private void ResetDraging()
        {
            //Debug.Log("ResetDraging");
            Debug.Log("延迟查询");
            if (m_GameUI.HasTower)
            {
                Debug.Log("m_GameUI.HasTower!!!!");
                m_GameUI.CloseCanPlace();//关闭所有绿色底板
                m_GameUI.CloseCanPlaceRenderer();//关闭所有宝石示意
                m_GameUI.EndDragCancelPlaceTower();//强制释放
                EndlessUIStart.instance.SetDarkGround(false);
                this.isInDragState = false;
                if (!GameConfig.IsNewbie)
                {
                    Time.timeScale = currentTimeScale;
                }
                //Debug.LogError("推拽已经结束了,强行恢复塔位了 , m_GameUI.HasTower:" + m_GameUI.HasTower);
            }
            if (m_GameUI.isBuilding)
            {
                //Debug.LogError("推拽已经结束了,为什么 m_GameUI.isBuilding是true????");
            }
            isDraging = false;
        }
        /// <summary>
@@ -242,19 +293,20 @@
            // 点击不处理
        }
        float dragTime = 0;
        bool isDraging = false;
        /// <summary>
        /// Assigns the drag pointer and sets the UI into drag mode
        /// </summary>
        /// <param name="pointer"></param>
        protected virtual void OnStartDrag(PointerActionInfo pointer)
        {
            // //Debug.Log("TouchInput StartDraged.");
            // // select towers
            // m_GameUI.TrySelectTower(pointer);
            // // River: 为了开始拖动后可以直接显示GhostTower
            // m_GameUI.TryMoveGhost(pointer, false);
            if (!isDraging)
            {
                Debug.Log("开始拖拽");
            // this.isInDragState = true;
                isDraging = true;
            if (GameConfig.IsNewbie)
            {
                if (!GameConfig.CanDragTower)
@@ -264,16 +316,14 @@
                }
            }
            //按照鼠标键盘的修改
            // select towers
            m_GameUI.TrySelectTower(pointer);
            // River: 为了开始拖动后可以直接显示GhostTower
            m_GameUI.TryMoveGhost(pointer, false);
            CommonDebugHelper.Debug("OnStartDrag");
            if (m_GameUI.HasTower)
            {
                CommonDebugHelper.Debug("m_GameUI.HasTower:" + m_GameUI.HasTower);
                    //Debug.Log("点击到了塔,开始推拽");
                EndlessUIStart.instance.SetDarkGround(true);
@@ -293,6 +343,7 @@
                }
            }
        }
        }
        /// <summary>
        /// Called when we drag
@@ -307,7 +358,7 @@
            // return;
            //按照鼠标键盘的修改
            if ((pointer != null) && (m_GameUI.isBuilding))
            if (isDraging && (pointer != null) && (m_GameUI.isBuilding))
            {
                m_GameUI.TryMoveGhost(pointer, false);