From bd0ba263761a866ca0d698169d2d83b6a11c35e7 Mon Sep 17 00:00:00 2001 From: CoderM <coderm@qq.com> Date: Thu, 10 Dec 2020 17:04:37 +0800 Subject: [PATCH] CoderM: 增加SDKJSON处理 --- Assets/Scripts/TowerDefense/Input/EndlessTowerDefenseKeyboardMouseInput.cs | 70 +++++++++++++++++++++++++++------- 1 files changed, 55 insertions(+), 15 deletions(-) diff --git a/Assets/Scripts/TowerDefense/Input/EndlessTowerDefenseKeyboardMouseInput.cs b/Assets/Scripts/TowerDefense/Input/EndlessTowerDefenseKeyboardMouseInput.cs index 7f8f1d1..cbf0fbc 100644 --- a/Assets/Scripts/TowerDefense/Input/EndlessTowerDefenseKeyboardMouseInput.cs +++ b/Assets/Scripts/TowerDefense/Input/EndlessTowerDefenseKeyboardMouseInput.cs @@ -5,6 +5,7 @@ using UnityEngine; using UnityInput = UnityEngine.Input; using State = TowerDefense.UI.HUD.EndlessGameUI.State; +using KTGMGemClient; namespace TowerDefense.Input { @@ -40,6 +41,7 @@ // River Add for Mouse Start Drag & Draged. controller.startedDrag += OnStartDrag; controller.dragged += this.OnDrag; + controller.pressed += OnPressed; controller.released += this.OnEndDrag; } } @@ -61,6 +63,7 @@ controller.startedDrag -= this.OnStartDrag; controller.dragged -= this.OnDrag; + controller.pressed -= OnPressed; controller.released -= this.OnEndDrag; } @@ -109,15 +112,12 @@ if (UnityInput.GetKeyDown(key)) { Tower controller = EndlessLevelManager.instance.TowerLibrary[key - KeyCode.Alpha1]; - if (EndlessLevelManager.instance.Currency.CanAfford(controller.purchaseCost)) + if (m_GameUI.isBuilding) { - if (m_GameUI.isBuilding) - { - m_GameUI.CancelGhostPlacement(); - } - EndlessGameUI.instance.SetToBuildMode(controller); - EndlessGameUI.instance.TryMoveGhost(InputController.instance.basicMouseInfo); + m_GameUI.CancelGhostPlacement(); } + EndlessGameUI.instance.SetToBuildMode(controller); + EndlessGameUI.instance.TryMoveGhost(InputController.instance.basicMouseInfo); break; } } @@ -146,17 +146,43 @@ } } + float currentTimeScale = 1.0f; protected virtual void OnStartDrag(PointerActionInfo pointer) { + 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; - AudioSourceManager.Ins.Play(AudioEnum.DragTower); + if (m_GameUI.HasTower) + { + EndlessUIStart.instance.SetDarkGround(true); - //Debug.Log("开始拖拽"); + 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) @@ -164,22 +190,36 @@ if ((pointer != null) && (m_GameUI.isBuilding)) { m_GameUI.TryMoveGhost(pointer, false); + + m_GameUI.CheckTowerPlace(pointer); } } + /// <summary> + /// 鼠标抬起 + /// </summary> + /// <param name="pointer"></param> protected void OnEndDrag(PointerActionInfo pointer) { // EndDrag 只能放置相关的GhostTower. if (this.isInDragState) { + EndlessUIStart.instance.SetDarkGround(false); + AudioSourceManager.Ins.Play(AudioEnum.PutTower); + m_GameUI.CloseCanPlaceRenderer();//关闭所有宝石示意 + m_GameUI.onEndTowerDrag(pointer); + + this.isInDragState = false; + + if (!GameConfig.IsNewbie) + Time.timeScale = currentTimeScale; } - m_GameUI.onEndTowerDrag(pointer); + } - this.isInDragState = false; - - //Debug.Log("结束拖拽"); - + private void OnPressed(PointerActionInfo pointer) + { + m_GameUI.OnPressed(pointer); } /// <summary> -- Gitblit v1.9.1