From c19b1fd1678bc23db6a98a66377177e7b7406008 Mon Sep 17 00:00:00 2001 From: chenxin <chenxin6991@163.com> Date: Wed, 09 Dec 2020 16:50:11 +0800 Subject: [PATCH] Merge branch 'master' of http://172.16.1.52:8090/r/GemBattle into master --- Assets/Scripts/TowerDefense/Input/EndlessTowerDefenseKeyboardMouseInput.cs | 99 +++++++++++++++++++++++++++++++------------------ 1 files changed, 63 insertions(+), 36 deletions(-) diff --git a/Assets/Scripts/TowerDefense/Input/EndlessTowerDefenseKeyboardMouseInput.cs b/Assets/Scripts/TowerDefense/Input/EndlessTowerDefenseKeyboardMouseInput.cs index cbf0fbc..d7d5eb3 100644 --- a/Assets/Scripts/TowerDefense/Input/EndlessTowerDefenseKeyboardMouseInput.cs +++ b/Assets/Scripts/TowerDefense/Input/EndlessTowerDefenseKeyboardMouseInput.cs @@ -147,47 +147,54 @@ } float currentTimeScale = 1.0f; + float dragTime = 0; + bool isDraging = false; + protected virtual void OnStartDrag(PointerActionInfo pointer) { - if (GameConfig.IsNewbie) + if (!isDraging) { - if (!GameConfig.CanDragTower) + Debug.Log("开始拖拽"); + isDraging = true; + + if (GameConfig.IsNewbie) { - Debug.Log("新手不可以拖拽"); - return; + if (!GameConfig.CanDragTower) + { + Debug.Log("新手不可以拖拽"); + return; + } } + // select towers + m_GameUI.TrySelectTower(pointer); + // River: 为了开始拖动后可以直接显示GhostTower + m_GameUI.TryMoveGhost(pointer, false); - } - // select towers - m_GameUI.TrySelectTower(pointer); - // River: 为了开始拖动后可以直接显示GhostTower - m_GameUI.TryMoveGhost(pointer, false); - - if (m_GameUI.HasTower) - { - EndlessUIStart.instance.SetDarkGround(true); - - this.isInDragState = true; - AudioSourceManager.Ins.Play(AudioEnum.DragTower); - m_GameUI.CheckAllCanPlace();//检查上阵宝石有么有可以合成的位置 - - if (!GameConfig.IsNewbie) + if (m_GameUI.HasTower) { - //新手引导这里会把引导的速度变慢 - currentTimeScale = Time.timeScale; - Time.timeScale = 0.5f; - } - else - { - GuideCtrl.Ins.BeginDrag5_1(); - } + EndlessUIStart.instance.SetDarkGround(true); + this.isInDragState = true; + AudioSourceManager.Ins.Play(AudioEnum.DragTower); + m_GameUI.CheckAllCanPlace();//检查上阵宝石有么有可以合成的位置 + + if (!GameConfig.IsNewbie) + { + //新手引导这里会把引导的速度变慢 + currentTimeScale = Time.timeScale; + Time.timeScale = 0.5f; + } + else + { + GuideCtrl.Ins.BeginDrag5_1(); + } + } } } protected override void OnDrag(PointerActionInfo pointer) { - if ((pointer != null) && (m_GameUI.isBuilding)) + if (isDraging && (pointer != null) && (m_GameUI.isBuilding)) { m_GameUI.TryMoveGhost(pointer, false); @@ -202,18 +209,38 @@ protected void OnEndDrag(PointerActionInfo pointer) { // EndDrag 只能放置相关的GhostTower. - if (this.isInDragState) + if (isDraging) { - EndlessUIStart.instance.SetDarkGround(false); + if (this.isInDragState) + { + EndlessUIStart.instance.SetDarkGround(false); + m_GameUI.CloseCanPlace();//关闭所有绿色底板 - AudioSourceManager.Ins.Play(AudioEnum.PutTower); - m_GameUI.CloseCanPlaceRenderer();//关闭所有宝石示意 - m_GameUI.onEndTowerDrag(pointer); + AudioSourceManager.Ins.Play(AudioEnum.PutTower); + m_GameUI.CloseCanPlaceRenderer();//关闭所有宝石示意 + m_GameUI.onEndTowerDrag(pointer); - this.isInDragState = false; + this.isInDragState = false; - if (!GameConfig.IsNewbie) - Time.timeScale = currentTimeScale; + if (!GameConfig.IsNewbie) + Time.timeScale = currentTimeScale; + } + Invoke("ResetDraging", 0.2f); + } + } + + private void ResetDraging() + { + isDraging = false; + Debug.Log("isDraging = false"); + if (m_GameUI.HasTower) + { + Debug.LogError("推拽已经结束了,为什么m_GameUI.HasTower是true????,强行恢复塔位"); + m_GameUI.EndDragCancelPlaceTower(); + } + if (m_GameUI.isBuilding) + { + Debug.LogError("推拽已经结束了,为什么 m_GameUI.isBuilding是true????"); } } -- Gitblit v1.9.1