From a4f1372aac905e4eecf16b899180af180f368124 Mon Sep 17 00:00:00 2001
From: Maximillian Lukman <13519153@std.stei.itb.ac.id>
Date: Sun, 10 Apr 2022 00:53:53 +0700
Subject: [PATCH] feat: add mobs at wave mode

---
 Assets/Scenes/Wave.unity                   |  7 ++++++-
 Assets/Scenes/Zen.unity                    |  4 +++-
 Assets/Scripts/Spawner/EnemySpawnerWave.cs | 15 ++++++++++++++-
 Assets/Scripts/Spawner/EnemySpawnerZen.cs  | 12 ++++++++++--
 UserSettings/EditorUserSettings.asset      |  9 ++++++---
 5 files changed, 39 insertions(+), 8 deletions(-)

diff --git a/Assets/Scenes/Wave.unity b/Assets/Scenes/Wave.unity
index 3b964a6..0231fdb 100644
--- a/Assets/Scenes/Wave.unity
+++ b/Assets/Scenes/Wave.unity
@@ -817,6 +817,11 @@ MonoBehaviour:
   - {fileID: 7785515}
   - {fileID: 428024867}
   - {fileID: 36326048}
+  - {fileID: 1190881234}
+  - {fileID: 1803578686}
+  - {fileID: 1065103271}
+  - {fileID: 2045825619}
+  - {fileID: 1610549460}
   enemyAlive: 5
   factory: {fileID: 180263585}
 --- !u!1 &428024866
@@ -7381,7 +7386,7 @@ GameObject:
   m_Component:
   - component: {fileID: 1803578686}
   m_Layer: 0
-  m_Name: 'Recovery GameObject for Transform (ID in file: 1803578686)'
+  m_Name: DevilSpawnPoint
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
diff --git a/Assets/Scenes/Zen.unity b/Assets/Scenes/Zen.unity
index c711556..33e353f 100644
--- a/Assets/Scenes/Zen.unity
+++ b/Assets/Scenes/Zen.unity
@@ -909,6 +909,8 @@ MonoBehaviour:
   - {fileID: 7785515}
   - {fileID: 428024867}
   - {fileID: 36326048}
+  - {fileID: 1803578686}
+  - {fileID: 1190881234}
   - {fileID: 1065103271}
   - {fileID: 2045825619}
   - {fileID: 1610549460}
@@ -7383,7 +7385,7 @@ GameObject:
   m_Component:
   - component: {fileID: 1803578686}
   m_Layer: 0
-  m_Name: 'Recovery GameObject for Transform (ID in file: 1803578686)'
+  m_Name: DevilSpawnPoint
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
diff --git a/Assets/Scripts/Spawner/EnemySpawnerWave.cs b/Assets/Scripts/Spawner/EnemySpawnerWave.cs
index 0a5e33f..0c6367d 100644
--- a/Assets/Scripts/Spawner/EnemySpawnerWave.cs
+++ b/Assets/Scripts/Spawner/EnemySpawnerWave.cs
@@ -11,6 +11,9 @@ public class EnemySpawnerWave : MonoBehaviour
     private int zombunnyCount = 5;
     private int zombearCount = 0;
     private int hellephantCount = 0;
+    private int shooterCount = 0;
+    private int bomberCount = 0;
+    private int devilCount = 0;
     public int enemyAlive = 5;
 
     [SerializeField]
@@ -32,10 +35,14 @@ public class EnemySpawnerWave : MonoBehaviour
 
     void Spawn()
     {
-        enemyAlive = zombunnyCount + zombearCount + hellephantCount;
+        int randomShooterIndex = Random.Range(5, 7);
+        enemyAlive = zombunnyCount + zombearCount + hellephantCount + shooterCount + bomberCount + devilCount;
         StartCoroutine(SpawnEnemy(0, 0, zombunnyCount));
         StartCoroutine(SpawnEnemy(1, 1, zombearCount));
         StartCoroutine(SpawnEnemy(2, 2, hellephantCount));
+        StartCoroutine(SpawnEnemy(3, 3, devilCount));
+        StartCoroutine(SpawnEnemy(4, 4, bomberCount));
+        StartCoroutine(SpawnEnemy(5, randomShooterIndex, shooterCount));
         WaveManager.wave = waveCount;
     }
 
@@ -49,6 +56,12 @@ public class EnemySpawnerWave : MonoBehaviour
         if (waveCount % 3 == 0)
         {
             hellephantCount++;
+            bomberCount += 2;
+        }
+        else if (waveCount % 5 == 0)
+        {
+            shooterCount++;
+            devilCount++;
         }
 
         Spawn();
diff --git a/Assets/Scripts/Spawner/EnemySpawnerZen.cs b/Assets/Scripts/Spawner/EnemySpawnerZen.cs
index a366d26..c423fd5 100644
--- a/Assets/Scripts/Spawner/EnemySpawnerZen.cs
+++ b/Assets/Scripts/Spawner/EnemySpawnerZen.cs
@@ -19,13 +19,21 @@ public class EnemySpawnerZen : MonoBehaviour
 
     void Spawn()
     {
-        for (int i = 0; i < 6; i++)
+        for (int i = 0; i < 8; i++)
         {
             if (playerHealth.currentHealth <= 0f)
             {
                 break;
             }
-            Instantiate(Factory.FactoryMethod(i), spawnPoints[i].position, spawnPoints[i].rotation);
+            
+            if (i < 5)
+            {
+                Instantiate(Factory.FactoryMethod(i), spawnPoints[i].position, spawnPoints[i].rotation);
+            }
+            else
+            {
+                Instantiate(Factory.FactoryMethod(5), spawnPoints[i].position, spawnPoints[i].rotation);
+            }
         }
     }
 }
diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset
index 8ba837e..d029854 100644
--- a/UserSettings/EditorUserSettings.asset
+++ b/UserSettings/EditorUserSettings.asset
@@ -6,21 +6,24 @@ EditorUserSettings:
   serializedVersion: 4
   m_ConfigSettings:
     RecentlyUsedScenePath-0:
-      value: 22424703114646680e0b0227036c6c111b07142f1f2b233e2867083debf42d
+      value: 22424703114646680e0b0227036c7c1f1b1a192428182724392c0f3dacf53a31f6fe
       flags: 0
     RecentlyUsedScenePath-1:
       value: 22424703114646680e0b0227036c7315001214157c7968252320092a
       flags: 0
     RecentlyUsedScenePath-2:
-      value: 22424703114646680e0b0227036c651518590d24253c3f
+      value: 22424703114646680e0b0227036c7315001214157c7968252320092a
       flags: 0
     RecentlyUsedScenePath-3:
-      value: 22424703114646680e0b0227036c72111f19352f223d68252320092a
+      value: 22424703114646680e0b0227036c6c111b07142f1f2b233e2867083debf42d
       flags: 0
     RecentlyUsedScenePath-4:
       value: 22424703114646680e0b0227036c72111f19352f223d68252320092a
       flags: 0
     RecentlyUsedScenePath-5:
+      value: 22424703114646680e0b0227036c651518590d24253c3f
+      flags: 0
+    RecentlyUsedScenePath-6:
       value: 22424703114646680e0b0227036c68110012563f22213229
       flags: 0
     vcSharedLogLevel:
-- 
GitLab