From f26be14b5365bdd2e14d8753beb3439c9a2cbdd4 Mon Sep 17 00:00:00 2001 From: wangguan <wangguan@kt007.com> Date: Tue, 08 Dec 2020 14:27:34 +0800 Subject: [PATCH] Merge branch 'master' of http://172.16.1.52:8090/r/GemBattle --- Assets/Scripts/TowerDefense/Input/EndlessTowerDefenseTouchInput.cs | 86 +++++++++++++++++++++++++++++++++++++++---- 1 files changed, 78 insertions(+), 8 deletions(-) diff --git a/Assets/Scripts/TowerDefense/Input/EndlessTowerDefenseTouchInput.cs b/Assets/Scripts/TowerDefense/Input/EndlessTowerDefenseTouchInput.cs index c74a737..4590996 100644 --- a/Assets/Scripts/TowerDefense/Input/EndlessTowerDefenseTouchInput.cs +++ b/Assets/Scripts/TowerDefense/Input/EndlessTowerDefenseTouchInput.cs @@ -4,6 +4,7 @@ using UnityEngine; using UnityInput = UnityEngine.Input; using State = TowerDefense.UI.HUD.EndlessGameUI.State; +using KTGMGemClient; namespace TowerDefense.Input { @@ -85,6 +86,7 @@ if (InputController.instanceExists) { InputController.instance.tapped += OnTap; + InputController.instance.pressed += OnPressed; InputController.instance.startedDrag += OnStartDrag; } @@ -114,6 +116,7 @@ if (InputController.instanceExists) { InputController.instance.tapped -= OnTap; + InputController.instance.pressed -= OnPressed; InputController.instance.startedDrag -= OnStartDrag; } if (m_GameUI != null) @@ -121,6 +124,11 @@ m_GameUI.stateChanged -= OnStateChanged; m_GameUI.ghostBecameValid -= OnGhostBecameValid; } + } + + private void OnPressed(PointerActionInfo pointer) + { + m_GameUI.OnPressed(pointer); } /// <summary> @@ -192,19 +200,36 @@ } } } + float currentTimeScale = 1.0f; /// <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; + + //按照鼠标键盘的修改 // EndDrag 只能放置相关的GhostTower. if (this.isInDragState) - m_GameUI.onEndTowerDrag(pointer); - //m_GameUI.TryPlaceTower(pointer); + { + EndlessUIStart.instance.SetDarkGround(false); - this.isInDragState = false; - return; + AudioSourceManager.Ins.Play(AudioEnum.PutTower); + m_GameUI.CloseCanPlaceRenderer();//关闭所有宝石示意 + m_GameUI.onEndTowerDrag(pointer); + + this.isInDragState = false; + + if (!GameConfig.IsNewbie) + Time.timeScale = currentTimeScale; + } } @@ -223,13 +248,50 @@ /// <param name="pointer"></param> protected virtual void OnStartDrag(PointerActionInfo pointer) { - //Debug.Log("TouchInput StartDraged."); + // //Debug.Log("TouchInput StartDraged."); + // // select towers + // m_GameUI.TrySelectTower(pointer); + // // River: 为了开始拖动后可以直接显示GhostTower + // m_GameUI.TryMoveGhost(pointer, false); + + // this.isInDragState = true; + if (GameConfig.IsNewbie) + { + if (!GameConfig.CanDragTower) + { + Debug.Log("新手不可以拖拽"); + return; + } + + } + //按照鼠标键盘的修改 // select towers m_GameUI.TrySelectTower(pointer); // River: 为了开始拖动后可以直接显示GhostTower m_GameUI.TryMoveGhost(pointer, false); - this.isInDragState = true; + 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) + { + //新手引导这里会把引导的速度变慢 + currentTimeScale = Time.timeScale; + Time.timeScale = 0.5f; + } + else + { + GuideCtrl.Ins.BeginDrag5_1(); + } + } } /// <summary> @@ -237,12 +299,20 @@ /// </summary> protected override void OnDrag(PointerActionInfo pointer) { + // if ((pointer != null) && (m_GameUI.isBuilding)) + // { + // m_GameUI.TryMoveGhost(pointer, false); + // } + + // return; + + //按照鼠标键盘的修改 if ((pointer != null) && (m_GameUI.isBuilding)) { m_GameUI.TryMoveGhost(pointer, false); - } - return; + m_GameUI.CheckTowerPlace(pointer); + } } /// <summary> -- Gitblit v1.9.1