From bf95bda39d99eac1d8fc1ec4c8a987586a99e422 Mon Sep 17 00:00:00 2001
From: liuzhiwei <liuzhiwei@qq.com>
Date: Tue, 08 Dec 2020 14:50:14 +0800
Subject: [PATCH] 火精灵攻击特效

---
 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