From daad3d9658dcb695570d047b9fc5152a16f3fa0b Mon Sep 17 00:00:00 2001
From: wangguan <wangguan@kt007.com>
Date: Thu, 26 Nov 2020 21:14:13 +0800
Subject: [PATCH] 充能BUG

---
 Assets/Scripts/Guide/GuideCtrl.cs |  262 +++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 176 insertions(+), 86 deletions(-)

diff --git a/Assets/Scripts/Guide/GuideCtrl.cs b/Assets/Scripts/Guide/GuideCtrl.cs
index 064229b..5bf1720 100644
--- a/Assets/Scripts/Guide/GuideCtrl.cs
+++ b/Assets/Scripts/Guide/GuideCtrl.cs
@@ -41,8 +41,13 @@
         EventCenter.Ins.Add((int)KTGMGemClient.EventType.KillDone, KillDone);
         EventCenter.Ins.Add((int)KTGMGemClient.EventType.GetOneTowerPos, GetOneTowerPos);
         EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateWaterLv1, CreateWaterLv1);
-        EventCenter.Ins.Add((int)KTGMGemClient.EventType.SkillStep, SkillStep);
-        EventCenter.Ins.Add((int)KTGMGemClient.EventType.SkillReleaseDone, SkillReleaseDone);
+        //EventCenter.Ins.Add((int)KTGMGemClient.EventType.SkillStep, SkillStep);
+        EventCenter.Ins.Add((int)KTGMGemClient.EventType.DragStep, DragStep);
+        EventCenter.Ins.Add((int)KTGMGemClient.EventType.ShowWarningTips, ShowWarningTips);//开始第三关,弹一大波敌人
+        EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateThirdWaveDone, CreateThirdWaveDone);
+
+        //EventCenter.Ins.Add((int)KTGMGemClient.EventType.SkillRelease, SkillRelease);
+        //EventCenter.Ins.Add((int)KTGMGemClient.EventType.SkillReleaseDone, SkillReleaseDone);
 
     }
 
@@ -54,33 +59,19 @@
         EventCenter.Ins.Remove((int)KTGMGemClient.EventType.KillDone, KillDone);
         EventCenter.Ins.Remove((int)KTGMGemClient.EventType.GetOneTowerPos, GetOneTowerPos);
         EventCenter.Ins.Remove((int)KTGMGemClient.EventType.CreateWaterLv1, CreateWaterLv1);
-        EventCenter.Ins.Remove((int)KTGMGemClient.EventType.SkillStep, SkillStep);
-        EventCenter.Ins.Remove((int)KTGMGemClient.EventType.SkillReleaseDone, SkillReleaseDone);
+        //EventCenter.Ins.Remove((int)KTGMGemClient.EventType.SkillStep, SkillStep);
+        EventCenter.Ins.Remove((int)KTGMGemClient.EventType.DragStep, DragStep);
+        EventCenter.Ins.Remove((int)KTGMGemClient.EventType.CreateThirdWaveDone, CreateThirdWaveDone);
+
+        //EventCenter.Ins.Remove((int)KTGMGemClient.EventType.SkillRelease, SkillRelease);
+        //EventCenter.Ins.Remove((int)KTGMGemClient.EventType.SkillReleaseDone, SkillReleaseDone);
 
 
     }
     public void Init(int step)
     {
-        //Time.timeScale = 0;//游戏暂停,这样会导致协程停止了
         ChangeStep(GuideEnum.Step0);
         GameConfig.CanOpenNewTower = false;
-        // switch (step)
-        // {
-        //     case 2:
-        //     case 3:
-        //         //生成两个火元素
-        //         break;
-        //     case 4:
-        //         //生成1个2级火元素,标记上阵位置
-
-        //         break;
-        //     case 5:
-        //         //生成2级火元素塔,第一关小怪出木元素小怪
-
-        //         break;
-
-        // }
-        // ChangeStep((GuideEnum)(step + 1));
 
     }
 
@@ -93,16 +84,18 @@
         allGuideDic.Add(GuideEnum.Step0, new string[] { GuideConfig.showWords[0], GuideConfig.showWords[1] });
         allGuideDic.Add(GuideEnum.Step1, new string[] { GuideConfig.showWords[2], GuideConfig.showWords[3] });
         allGuideDic.Add(GuideEnum.Step2, new string[] { GuideConfig.showWords[4], GuideConfig.showWords[5] });
-        allGuideDic.Add(GuideEnum.Step3, new string[] { GuideConfig.showWords[6], GuideConfig.showWords[7] });
-        allGuideDic.Add(GuideEnum.Step4, new string[] { GuideConfig.showWords[8] });
-        allGuideDic.Add(GuideEnum.Step5, new string[] { GuideConfig.showWords[9], GuideConfig.showWords[10] });
-        allGuideDic.Add(GuideEnum.Step6, new string[] { GuideConfig.showWords[11], GuideConfig.showWords[12] });
-        allGuideDic.Add(GuideEnum.Step7, new string[] { GuideConfig.showWords[13] });
-        allGuideDic.Add(GuideEnum.Step8, new string[] { GuideConfig.showWords[14], GuideConfig.showWords[15] });
-        allGuideDic.Add(GuideEnum.Step9, new string[] { GuideConfig.showWords[16], GuideConfig.showWords[17] });
-        allGuideDic.Add(GuideEnum.Step10, new string[] { GuideConfig.showWords[18], GuideConfig.showWords[19] });
-        allGuideDic.Add(GuideEnum.Step11, new string[] { GuideConfig.showWords[20], GuideConfig.showWords[21] });
-        allGuideDic.Add(GuideEnum.Step12, new string[] { GuideConfig.showWords[22], GuideConfig.showWords[23], GuideConfig.showWords[24] });
+        allGuideDic.Add(GuideEnum.Step3, new string[] { });
+        allGuideDic.Add(GuideEnum.Step4, new string[] { GuideConfig.showWords[6] });
+        allGuideDic.Add(GuideEnum.Step5, new string[] { GuideConfig.showWords[7], GuideConfig.showWords[8] });
+        allGuideDic.Add(GuideEnum.Step6, new string[] { });
+        allGuideDic.Add(GuideEnum.Step7, new string[] { });
+        allGuideDic.Add(GuideEnum.Step8, new string[] { GuideConfig.showWords[9] });
+        allGuideDic.Add(GuideEnum.Step9, new string[] { });
+        allGuideDic.Add(GuideEnum.Step10, new string[] { GuideConfig.showWords[10], GuideConfig.showWords[11] });
+        allGuideDic.Add(GuideEnum.Step11, new string[] { });
+        allGuideDic.Add(GuideEnum.Step12, new string[] { GuideConfig.showWords[12], GuideConfig.showWords[13] });
+        allGuideDic.Add(GuideEnum.Step13, new string[] { });
+        allGuideDic.Add(GuideEnum.Step14, new string[] { GuideConfig.showWords[14], GuideConfig.showWords[15] });
 
     }
 
@@ -157,6 +150,12 @@
                 case GuideEnum.Step12:
                     Step12();
                     break;
+                case GuideEnum.Step13:
+                    Step13();
+                    break;
+                case GuideEnum.Step14:
+                    Step14();
+                    break;
                 case GuideEnum.Finish:
                     Finish();
                     break;
@@ -174,8 +173,8 @@
         isShowing = true;
         if (currentIndex == -1)//初始化本步
         {
-            CommonDebugHelper.DebugError("第1步开始");
-            GA_SDK_Manager.Ins.Statistics(5);//埋点
+            CommonDebugHelper.DebugError("第1步开始, 对话");
+            TDAA_SDKManager.Ins.Statistics(5);//埋点
 
             currentIndex = 0;
             needIndex = 2;
@@ -191,9 +190,9 @@
     {
         if (currentIndex == -1)
         {
-            CommonDebugHelper.DebugError("第2步开始");
-            GA_SDK_Manager.Ins.Statistics(6);//埋点
-            GA_SDK_Manager.Ins.GuideStep(1);//埋点
+            CommonDebugHelper.DebugError("第2步开始,购买火元素");
+            TDAA_SDKManager.Ins.Statistics(6);//埋点
+            TDAA_SDKManager.Ins.GuideStep(1);//埋点
 
             currentIndex = 0;
             needIndex = 2;
@@ -238,8 +237,8 @@
         isShowing = true;
         if (currentIndex == -1)
         {
-            CommonDebugHelper.DebugError("第3步开始");
-            GA_SDK_Manager.Ins.GuideStep(2);//埋点
+            CommonDebugHelper.DebugError("第3步开始,介绍火元素");
+            TDAA_SDKManager.Ins.GuideStep(2);//埋点
 
             currentIndex = 0;
             needIndex = 2;
@@ -260,31 +259,32 @@
     {
         if (currentIndex == -1)
         {
-            CommonDebugHelper.DebugError("第4步开始");
-            GA_SDK_Manager.Ins.GuideStep(3);//埋点
+            CommonDebugHelper.DebugError("第4步开始,引导合成火元素");
+            TDAA_SDKManager.Ins.GuideStep(3);//埋点
 
             currentIndex = 0;
             needIndex = 2;
-            panel.Step3(currentIndex, allGuideDic[currentStep][currentIndex]);
+            panel.Step3(currentIndex, "");
         }
     }
 
     //开始拖拽
     public void BeginDrag()
     {
-        panel.Step3_2(allGuideDic[currentStep][1]);
+        panel.Step3_2("");
     }
 
     //结束推拽 没有合成,回到上一步
     public void EndDrag()
     {
-        panel.Step3(0, allGuideDic[currentStep][0]);
+        panel.Step3(0, "");
     }
 
     //合成了卡牌,开始下一步
     private void AddCard()
     {
         currentIndex = -1;
+        panel.StopShowDragPath(false);
         ChangeStep(GuideEnum.Step4);
     }
 
@@ -292,10 +292,11 @@
     {
         if (currentIndex == -1)
         {
-            CommonDebugHelper.DebugError("第5步开始");
-            GA_SDK_Manager.Ins.GuideStep(4);//埋点
+            CommonDebugHelper.DebugError("第5步开始,上阵火元素 ");
+            TDAA_SDKManager.Ins.GuideStep(4);//埋点
 
             currentIndex = 0;
+            panel.StopShowDragPath(true);
             panel.Step4(currentIndex, allGuideDic[currentStep][currentIndex]);
         }
     }
@@ -304,6 +305,7 @@
     private void CreateFireLv2()
     {
         currentIndex = -1;
+        panel.StopShowDragPath(true);
         ChangeStep(GuideEnum.Step5);
     }
 
@@ -312,8 +314,8 @@
     {
         if (currentIndex == -1)
         {
-            CommonDebugHelper.DebugError("第6步开始");
-            GA_SDK_Manager.Ins.GuideStep(5);//埋点
+            CommonDebugHelper.DebugError("第6步开始,开打第一波");
+            TDAA_SDKManager.Ins.GuideStep(5);//埋点
 
             EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.CreateFirstWave);
             panel.Step5(currentIndex, "");
@@ -340,8 +342,8 @@
     {
         if (currentIndex == -1)
         {
-            CommonDebugHelper.DebugError("第7步开始");
-            GA_SDK_Manager.Ins.GuideStep(6);//埋点
+            CommonDebugHelper.DebugError("第7步开始,出怪");
+            TDAA_SDKManager.Ins.GuideStep(6);//埋点
 
             panel.SetGuideUI(false);
             //恢复出怪
@@ -360,11 +362,15 @@
 
     private void KillDone()
     {
-        currentIndex = 0;
-        needIndex = 2;
-        panel.SetGuideUI(true);
-        isShowing = true;
-        panel.StartShowWord(allGuideDic[currentStep][currentIndex], ShowWordCallBack);
+        currentIndex = -1;
+
+        ChangeStep(GuideEnum.Step7);
+
+        // currentIndex = 0;
+        // needIndex = 2;
+        // panel.SetGuideUI(true);
+        // isShowing = true;
+        // panel.StartShowWord(allGuideDic[currentStep][currentIndex], ShowWordCallBack);
     }
 
 
@@ -372,16 +378,20 @@
     {
         if (currentIndex == -1)
         {
-            CommonDebugHelper.DebugError("第8步开始");
-            GA_SDK_Manager.Ins.GuideStep(7);//埋点
+            CommonDebugHelper.DebugError("第8步开始,跳过了");
+            TDAA_SDKManager.Ins.GuideStep(7);//埋点
 
             currentIndex = 0;
             needIndex = 1;
             panel.SetGuideUI(false);
-            GameConfig.CanOpenNewTower = true;
+
+            //GameConfig.CanOpenNewTower = true;
 
             //等待解锁塔
-            panel.Step7(currentIndex, allGuideDic[currentStep][currentIndex]);
+            //panel.Step7(currentIndex, allGuideDic[currentStep][currentIndex]);
+
+            //第一排直接开过塔了,引导买水元素
+            GetOneTowerPos();
         }
     }
 
@@ -399,38 +409,35 @@
         isShowing = true;
         if (currentIndex == -1)//初始化本步
         {
-            CommonDebugHelper.DebugError("第9步开始");
-            GA_SDK_Manager.Ins.GuideStep(8);//埋点
+            CommonDebugHelper.DebugError("第9步开始,介绍水元素");
+            TDAA_SDKManager.Ins.GuideStep(8);//埋点
             GameConfig.CanOpenNewTower = false;
 
             currentIndex = 0;
-            needIndex = 2;
+            needIndex = 1;
             panel.Step8();
-
-            panel.StartShowWord(allGuideDic[currentStep][currentIndex], ShowWordCallBack);
-        }
-        else if (currentIndex == 1)
-        {
             panel.StartShowWord(allGuideDic[currentStep][currentIndex], ShowWordCallBack);
         }
 
     }
 
+
+
     private void Step9()
     {
         if (currentIndex == -1)
         {
-            CommonDebugHelper.DebugError("第10步开始");
-            GA_SDK_Manager.Ins.GuideStep(9);//埋点
+            CommonDebugHelper.DebugError("第10步开始,购买水元素,第二步上阵");
+            TDAA_SDKManager.Ins.GuideStep(9);//埋点
 
             currentIndex = 0;
             needIndex = 2;
             panel.SetGuideUI(false);
-            panel.Step9(allGuideDic[currentStep][currentIndex], currentIndex, Step9_1);
+            panel.Step9("", currentIndex, Step9_1);
         }
         else if (currentIndex == 1)
         {
-            panel.Step9(allGuideDic[currentStep][currentIndex], currentIndex, null);
+            panel.Step9("", currentIndex, null);
         }
     }
 
@@ -446,10 +453,17 @@
     private void CreateWaterLv1()
     {
         panel.CleanMask();
+        panel.StopShowDragPath(true);
         EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.CreateSecondWave);//生成第二波小怪
     }
 
     private void SkillStep()
+    {
+        currentIndex = -1;
+        ChangeStep(GuideEnum.Step10);
+    }
+
+    private void DragStep()
     {
         currentIndex = -1;
         ChangeStep(GuideEnum.Step10);
@@ -460,8 +474,8 @@
         isShowing = true;
         if (currentIndex == -1)//初始化本步
         {
-            CommonDebugHelper.DebugError("第11步开始");
-            GA_SDK_Manager.Ins.GuideStep(10);//埋点
+            CommonDebugHelper.DebugError("第11步开始,自己编的,需要修改,反正就是引导换位置");
+            TDAA_SDKManager.Ins.GuideStep(10);//埋点
 
             currentIndex = 0;
             needIndex = 2;
@@ -472,7 +486,7 @@
         else if (currentIndex == 1)
         {
             panel.StartShowWord(allGuideDic[currentStep][currentIndex], ShowWordCallBack);
-            panel.Step10();
+            //panel.Step10();
         }
     }
 
@@ -480,13 +494,13 @@
     {
         if (currentIndex == -1)
         {
-            CommonDebugHelper.DebugError("第12步开始");
-            GA_SDK_Manager.Ins.GuideStep(11);//埋点
+            CommonDebugHelper.DebugError("第12步开始,已经换了位置");
+            TDAA_SDKManager.Ins.GuideStep(11);//埋点
 
             currentIndex = 0;
             needIndex = 1;
 
-            panel.Step11(currentIndex, allGuideDic[currentStep][currentIndex]);
+            panel.Step11Drag(currentIndex);
 
         }
     }
@@ -494,37 +508,113 @@
     //开始拖拽
     public void BeginDrag11_1()
     {
-
-        panel.Step11(1, allGuideDic[currentStep][1]);
+        panel.Step11Drag(1);
     }
 
     //结束推拽 没有合成,回到上一步
     public void EndDrag11_1()
     {
-        panel.Step11(0, allGuideDic[currentStep][0]);
+        panel.Step11Drag(0);
     }
 
+    public void DragDone()
+    {
+        GameConfig.CanDragTower = false;
+        CommonDebugHelper.Debug("结束拖拽");
+        panel.Step11Drag(2);
+        EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.RestartWave);
+    }
 
-    private void SkillReleaseDone()
+    /// <summary>
+    /// 大波敌人来袭
+    /// </summary>
+    private void ShowWarningTips()
+    {
+        CommonDebugHelper.Debug("这里需要显示大波敌人来袭");
+        panel.Step11_End();
+        //结束后需要
+        //EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.CreateThirdWave);
+    }
+
+    private void CreateThirdWaveDone()
     {
         currentIndex = -1;
         ChangeStep(GuideEnum.Step12);
     }
+
+    // private void SkillRelease()
+    // {
+    //     panel.SkillRelease();
+    // }
+
+
+    // private void SkillReleaseDone()
+    // {
+    //     currentIndex = -1;
+    //     ChangeStep(GuideEnum.Step12);
+    // }
 
     private void Step12()
     {
         isShowing = true;
         if (currentIndex == -1)//初始化本步
         {
-            CommonDebugHelper.DebugError("第13步开始");
-            GA_SDK_Manager.Ins.GuideStep(12);//埋点
+            CommonDebugHelper.DebugError("第13步开始,对话框说明技能");
+            TDAA_SDKManager.Ins.GuideStep(12);//埋点
 
             currentIndex = 0;
-            needIndex = 3;
+            needIndex = 2;
             panel.Step12();
 
             panel.StartShowWord(allGuideDic[currentStep][currentIndex], ShowWordCallBack);
+        }
+        else
+        {
+            panel.StartShowWord(allGuideDic[currentStep][currentIndex], ShowWordCallBack);
+        }
+    }
 
+    private void Step13()
+    {
+        isShowing = true;
+        if (currentIndex == -1)//初始化本步
+        {
+            CommonDebugHelper.DebugError("第14步开始,引导释放技能");
+            TDAA_SDKManager.Ins.GuideStep(13);//埋点
+
+            currentIndex = 0;
+            needIndex = 2;
+            panel.Step13("释放技能", AfterSkillDone);
+
+        }
+    }
+
+    private void AfterSkillDone()
+    {
+        panel.CleanMask();
+        StartCoroutine(ChangeState());
+    }
+
+    IEnumerator ChangeState()
+    {
+        CommonDebugHelper.Debug("释放技能结束,这里等了1秒钟");
+        yield return new WaitForSeconds(1.0f);
+        currentIndex = -1;
+        ChangeStep(GuideEnum.Step14);
+    }
+
+    private void Step14()
+    {
+        isShowing = true;
+        if (currentIndex == -1)//初始化本步
+        {
+            CommonDebugHelper.DebugError("第15步开始,引导释放技能");
+            TDAA_SDKManager.Ins.GuideStep(14);//埋点
+
+            currentIndex = 0;
+            needIndex = 2;
+            panel.Step14();
+            panel.StartShowWord(allGuideDic[currentStep][currentIndex], ShowWordCallBack);
         }
         else
         {
@@ -535,14 +625,14 @@
     private void Finish()
     {
         UnityEngine.Debug.Log("新手指导已经完成了");
-        GA_SDK_Manager.Ins.GuideStep(13);//埋点
+        TDAA_SDKManager.Ins.GuideStep(13);//埋点
 
         GameConfig.CanOpenNewTower = true;
         GameConfig.CanBuyNewTower = true;
 
         EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.GuideFinish);
+        PlayerPrefs.SetInt("GemBattleGuide", 1);
         Destroy(gameObject);
-        //gameObject.SetActive(false);
     }
 
     #endregion

--
Gitblit v1.9.1