From e33d0e85cf5d01e953d95197488eeffc67835f3a Mon Sep 17 00:00:00 2001
From: chenxin <chenxin6991@163.com>
Date: Tue, 27 Oct 2020 18:16:53 +0800
Subject: [PATCH] 无尽模式关卡打点需要

---
 Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs                   |    1 +
 Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs                       |    2 ++
 Assets/Scripts/Common/GameConfig.cs                                       |   15 +++++++++++++++
 Assets/Scripts/TowerDefense/UI/EndlessSettlement.cs                       |    1 +
 Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs                          |    5 +++++
 Assets/Scripts/TowerDefense/Towers/Placement/TowerPlacementGridEndless.cs |    1 +
 Assets/Scripts/TowerDefense/UI/EndlessTowerGridOpen.cs                    |    1 +
 Assets/Scripts/Event/EventType.cs                                         |    6 +++++-
 8 files changed, 31 insertions(+), 1 deletions(-)

diff --git a/Assets/Scripts/Common/GameConfig.cs b/Assets/Scripts/Common/GameConfig.cs
index def4d23..0557419 100644
--- a/Assets/Scripts/Common/GameConfig.cs
+++ b/Assets/Scripts/Common/GameConfig.cs
@@ -46,5 +46,20 @@
         /// 所有新手的引导步骤是否全部完成
         /// </summary>
         public static bool IsNewbieGuideCompleted = false;
+
+        /// <summary>
+        /// 无尽模式每一轮游戏中成功使用技能宝石的次数
+        /// </summary>
+        public static int EndlessPortUseSkillTowerCount;
+
+        /// <summary>
+        /// 每一轮游戏中成功开启的塔位置数量,这个是上阵的塔,可以攻击的塔位
+        /// </summary>
+        public static int EndlessOpenAttackTowerCount;
+
+        /// <summary>
+        /// 每一轮游戏中成功购买塔的数量
+        /// </summary>
+        public static int EndlessBuyTowerCount;
     }
 }
\ No newline at end of file
diff --git a/Assets/Scripts/Event/EventType.cs b/Assets/Scripts/Event/EventType.cs
index 71bc40e..c45ca8f 100644
--- a/Assets/Scripts/Event/EventType.cs
+++ b/Assets/Scripts/Event/EventType.cs
@@ -38,7 +38,11 @@
         // 火元素塔充能使用结束
         FireTowerChargeEnd,
         //新手引导结束
-        GuideFinish
+        GuideFinish,
+        // 无尽模式成功通过第*关,第*波
+        EndlessCompletedPort,
+        // 无尽模式关卡结束
+        EndlessLevelCompleted,
     }
 
 }
diff --git a/Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs
index 9516ece..9f3d26f 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs
+++ b/Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs
@@ -299,6 +299,7 @@
                 // 更新波索引
                 ++CurrentWaveIndex;
                 EndlessBuffManager.instance.UpdateBuffList();
+                EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.EndlessCompletedPort, Level, CurrentWaveIndex);
 
                 if (CurrentWaveIndex >= TotalWaves)
                     // 当前关卡的所有波次全部完成
diff --git a/Assets/Scripts/TowerDefense/Towers/Placement/TowerPlacementGridEndless.cs b/Assets/Scripts/TowerDefense/Towers/Placement/TowerPlacementGridEndless.cs
index c2fed45..dcf9edd 100644
--- a/Assets/Scripts/TowerDefense/Towers/Placement/TowerPlacementGridEndless.cs
+++ b/Assets/Scripts/TowerDefense/Towers/Placement/TowerPlacementGridEndless.cs
@@ -784,6 +784,7 @@
             }
             // 设置塔位默认开启,后面需要根据配置来
             m_arrGridType[2, 3] = PlacementGridType.EGridOpen;
+            ++GameConfig.EndlessOpenAttackTowerCount;
         }
 
         /// <summary>
diff --git a/Assets/Scripts/TowerDefense/UI/EndlessSettlement.cs b/Assets/Scripts/TowerDefense/UI/EndlessSettlement.cs
index e9a31a2..07b0ea3 100644
--- a/Assets/Scripts/TowerDefense/UI/EndlessSettlement.cs
+++ b/Assets/Scripts/TowerDefense/UI/EndlessSettlement.cs
@@ -87,6 +87,7 @@
         /// </summary>
         protected void Victory()
         {
+            EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.EndlessLevelCompleted);
             EndlessUIStart.instance.Pause();
             OpenEndGameScreen(true);
             if (VictoryAudio != null && AudioSource != null)
diff --git a/Assets/Scripts/TowerDefense/UI/EndlessTowerGridOpen.cs b/Assets/Scripts/TowerDefense/UI/EndlessTowerGridOpen.cs
index fefa8ca..05c87ad 100644
--- a/Assets/Scripts/TowerDefense/UI/EndlessTowerGridOpen.cs
+++ b/Assets/Scripts/TowerDefense/UI/EndlessTowerGridOpen.cs
@@ -77,6 +77,7 @@
 
             if (bsucc)
             {
+                ++GameConfig.EndlessOpenAttackTowerCount;
                 towerGrid.updateGridOpenCoin(gridX, gridY);
                 if (mImage)
                     mImage.color = new Color(1.0f, 1.0f, 1.0f, 0.0f);
diff --git a/Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs b/Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs
index 859c0b7..23755b8 100644
--- a/Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs
+++ b/Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs
@@ -80,6 +80,10 @@
             Instantiate(Resources.Load<GameObject>("UI/Guide/GuidePanel"), this.transform);
             AddGuideEvent();
         }
+
+        GameConfig.EndlessOpenAttackTowerCount = 0;
+        GameConfig.EndlessBuyTowerCount = 0;
+        GameConfig.EndlessPortUseSkillTowerCount = 0;
     }
 
     /// <summary>
@@ -174,6 +178,7 @@
         // 播放特效,并处理伤害.
         EndlessWaveLineManager.instance.PlayWaveLineEffect(waveLineIndex);
         AgentInsManager.instance.ExecWavelineAttack(waveLineIndex, attributeId, level, false);
+        ++GameConfig.EndlessPortUseSkillTowerCount;
         StartCoroutine(Delay1());
     }
 
diff --git a/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs b/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
index a3af338..8eb8e77 100644
--- a/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
+++ b/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
@@ -868,6 +868,7 @@
                         // 播放特效,并处理伤害.
                         EndlessWaveLineManager.instance.PlayWaveLineEffect(selEff.waveLineId);
                         AgentInsManager.instance.ExecWavelineAttack(selEff.waveLineId, sId, sLevel, false);
+                        ++GameConfig.EndlessPortUseSkillTowerCount;
                         return true;
                     }
                 }
@@ -1526,6 +1527,7 @@
             m_CurrentTower.Show();
             if (successfulPurchase)
             {
+                ++GameConfig.EndlessBuyTowerCount;
                 // 删除towerToMove,确保塔防数据不再出现多个
                 if (zeroCost && (towerToMove != null))
                 {

--
Gitblit v1.9.1