| | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (isRelease) |
| | | { |
| | | resetDragingTime += Time.deltaTime; |
| | | if (resetDragingTime > 0.2f) |
| | | { |
| | | isRelease = false; |
| | | resetDragingTime = 0; |
| | | ResetDraging(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | } |
| | | } |
| | | 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 (this.isInDragState) |
| | | if (isDraging) |
| | | { |
| | | EndlessUIStart.instance.SetDarkGround(false); |
| | | if (this.isInDragState) |
| | | { |
| | | EndlessUIStart.instance.SetDarkGround(false); |
| | | |
| | | AudioSourceManager.Ins.Play(AudioEnum.PutTower); |
| | | AudioSourceManager.Ins.Play(AudioEnum.PutTower); |
| | | m_GameUI.CloseCanPlace();//关闭所有绿色底板 |
| | | m_GameUI.CloseCanPlaceRenderer();//关闭所有宝石示意 |
| | | m_GameUI.onEndTowerDrag(pointer); |
| | | |
| | | this.isInDragState = false; |
| | | |
| | | 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.onEndTowerDrag(pointer); |
| | | 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> |
| | |
| | | // 点击不处理 |
| | | } |
| | | |
| | | 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); |
| | | |
| | | // this.isInDragState = true; |
| | | 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); |
| | | |
| | | CommonDebugHelper.Debug("OnStartDrag"); |
| | | if (m_GameUI.HasTower) |
| | | { |
| | | CommonDebugHelper.Debug("m_GameUI.HasTower:" + 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(); |
| | | //Debug.Log("点击到了塔,开始推拽"); |
| | | |
| | | 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(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | // return; |
| | | |
| | | //按照鼠标键盘的修改 |
| | | if ((pointer != null) && (m_GameUI.isBuilding)) |
| | | if (isDraging && (pointer != null) && (m_GameUI.isBuilding)) |
| | | { |
| | | m_GameUI.TryMoveGhost(pointer, false); |
| | | |
| | | m_GameUI.CheckTowerPlace(pointer); |
| | | //m_GameUI.CheckTowerPlace(pointer); |
| | | m_GameUI.CheckTowerPlaceNew(pointer); |
| | | |
| | | } |
| | | } |
| | | |