From ce7efae14eb31bcdfa0d540da6a1ef1457e046ab Mon Sep 17 00:00:00 2001
From: chenxin <chenxin6991@163.com>
Date: Wed, 04 Nov 2020 21:27:39 +0800
Subject: [PATCH] Merge commit '80b4237334a773b29bf69f38532a90ca659b3bfe' into master

---
 Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs |   61 ++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 1 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs
index d534361..b372b26 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs
+++ b/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs
@@ -169,6 +169,51 @@
         private bool isStopSecondWaveCompleted = false;
 
         /// <summary>
+        /// 赛道长度
+        /// </summary>
+        private float tunelLength = 31.94f;
+
+        private List<Vector3> homeBasePositionList;
+
+        /// <summary>
+        /// 根据赛道id(1~5)获得基地坐标
+        /// </summary>
+        /// <param name="tunelId"></param>
+        /// <returns></returns>
+        public Vector3 GetHomeBasePosition(int tunelId)
+        {
+            return homeBasePositionList[tunelId - 1];
+        }
+
+        /// <summary>
+        /// 根据赛道id(1~5)和赛道类型获得世界坐标
+        /// </summary>
+        /// <param name="tunelId"></param>
+        /// <param name="tunelType"></param>
+        public Vector3 GetTunelWorldPosition(int tunelId, EndlessBossSkillTunelType tunelType)
+        {
+            Vector3 startPos = StartingNodeList[tunelId - 1].transform.position;
+            Vector3 ret = new Vector3(startPos.x, startPos.y, startPos.z);
+            float add = 0;
+
+            switch (tunelType)
+            {
+                case EndlessBossSkillTunelType.Top:
+                    break;
+                case EndlessBossSkillTunelType.Center:
+                    add = -(tunelLength / 2);
+                    break;
+                case EndlessBossSkillTunelType.Bottom:
+                    add = -tunelLength;
+                    break;
+            }
+
+            ret.z += add;
+
+            return ret;
+        }
+
+        /// <summary>
         /// 切换基地
         /// </summary>
         /// <param name="index">列索引</param>
@@ -297,6 +342,18 @@
         {
             EndlessBuffSelect.instance.BuffSelectCompleted += OnBuffSelectCompleted;
             EndlessGameUI.instance.GameOverEvent += SafelyCallLevelCompleted;
+
+            homeBasePositionList = new List<Vector3>();
+
+            for (int i = 0; i < StartingNodeList.Count; ++i)
+            {
+                Vector3 startPos = StartingNodeList[i].transform.position;
+                Vector3 pos = new Vector3();
+                pos.x = startPos.x;
+                pos.y = startPos.y;
+                pos.z = startPos.z - tunelLength;
+                homeBasePositionList.Add(pos);
+            }
         }
 
         /// <summary>
@@ -313,7 +370,8 @@
             if (!isBuffSelectCompleted)
             {
                 isBuffSelectCompleted = true;
-                WaveManager.InitPort(CurrentLevel);
+                if (CurrentLevel > startLevel)
+                    WaveManager.InitPort(CurrentLevel);
                 EndlessUIStart.instance.Restart();
                 WaveManager.StartWaves(CurrentLevel);
             }
@@ -360,6 +418,7 @@
         protected virtual void AllWaveCompleted()
         {
             IsAllWaveCompleted = true;
+            EndlessBossSkillManager.instance.ClearSkillList();
         }
 
         /// <summary>

--
Gitblit v1.9.1