From 18f96c9313bf24d2296e615f44fc0ca005f2e872 Mon Sep 17 00:00:00 2001
From: liuzhiwei <liuzhiwei@qq.com>
Date: Thu, 12 Nov 2020 16:05:44 +0800
Subject: [PATCH] Merge branch 'master' of http://172.16.1.52:8090/r/GemBattle into master

---
 Assets/Scripts/TowerDefense/Level/EndlessWave.cs |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/Level/EndlessWave.cs b/Assets/Scripts/TowerDefense/Level/EndlessWave.cs
index 294f232..f566fd5 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessWave.cs
+++ b/Assets/Scripts/TowerDefense/Level/EndlessWave.cs
@@ -143,12 +143,16 @@
         /// <returns>Agent</returns>
         protected virtual void SpawnAgent()
         {
-            int index = GetIndexByResId(waveData.EnemyData.resource);
+            endless_enemy enemyData = waveData.EnemyDataList[waveData.Config.enemy_id > 0 ? 0 : spawnedEnemies];
+
+            int index = GetIndexByResId(enemyData.resource);
+
             // 木属性小怪需要同时生成两个,先这么写吧(WTF)
-            bool isDouble = waveData.EnemyData.resource == 103;
+            bool isDouble = enemyData.resource == 103;
 
             Poolable agentPoolable = Poolable.TryGetPoolable<Poolable>(AgentConfigurationList[index].agentPrefab.gameObject);
             Agent newAgent = agentPoolable.GetComponent<Agent>();
+            newAgent.EnemyData = enemyData;
             newAgent.transform.position = StartingNode.transform.position;
 
             if (isDouble)
@@ -164,9 +168,9 @@
             newAgent.Initialize();
 
             // 最终血量 = 基础血量 * 血量增幅,速度和金币都是一个公式
-            float hp = waveData.Config.b_hp * waveData.EnemyData.hp_rate;
-            float speed = waveData.Config.b_speed * waveData.EnemyData.speed_rate;
-            int gold = waveData.Config.b_coin * waveData.EnemyData.coin_rate;
+            float hp = waveData.Config.b_hp * enemyData.hp_rate;
+            float speed = waveData.Config.b_speed * enemyData.speed_rate;
+            int gold = waveData.Config.b_coin * enemyData.coin_rate;
 
             newAgent.SetAgentData(hp, speed, gold);
             // todo 这里先填1级后面需要修改
@@ -178,6 +182,7 @@
             {
                 Poolable agentPoolable2 = Poolable.TryGetPoolable<Poolable>(AgentConfigurationList[index].agentPrefab.gameObject);
                 Agent doubleAgent = agentPoolable2.GetComponent<Agent>();
+                doubleAgent.EnemyData = enemyData;
                 doubleAgent.transform.position = StartingNode.transform.position;
 
                 Vector3 pos = doubleAgent.transform.position;

--
Gitblit v1.9.1