From 2bd8f83fcf4a7c5ffea41cf27cc68e305903093c Mon Sep 17 00:00:00 2001
From: HoseaNA <13521057@std.stei.itb.ac.id>
Date: Sat, 11 May 2024 15:46:32 +0700
Subject: [PATCH] feat: skip quest cheat

---
 .../Assets/Code/Scripts/Console/Console.cs        |  4 +++-
 .../Assets/Code/Scripts/Quest/Quest.cs            |  2 +-
 .../Assets/Code/Scripts/Quest/QuestManager.cs     | 15 +++++++++++++--
 .../ProjectSettings/ProjectSettings.asset         |  6 +++++-
 4 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/IF3210-2024-Unity-AFK/Assets/Code/Scripts/Console/Console.cs b/IF3210-2024-Unity-AFK/Assets/Code/Scripts/Console/Console.cs
index a374a832..5dd9223e 100644
--- a/IF3210-2024-Unity-AFK/Assets/Code/Scripts/Console/Console.cs
+++ b/IF3210-2024-Unity-AFK/Assets/Code/Scripts/Console/Console.cs
@@ -91,7 +91,9 @@ public class Console : MonoBehaviour
         });
         SKIPPER = new ConsoleCommand("skipper", "skip current quest", "skipper", () => 
         {
-            // Skip current quest
+            QuestManager questManager = GameObject.Find("QuestManager").GetComponent<QuestManager>();
+            questManager.SkipCurrentQuest();
+            Debug.Log("skipping current quest");
         });
 
         commandList = new List<object>
diff --git a/IF3210-2024-Unity-AFK/Assets/Code/Scripts/Quest/Quest.cs b/IF3210-2024-Unity-AFK/Assets/Code/Scripts/Quest/Quest.cs
index 0078192d..abd20091 100644
--- a/IF3210-2024-Unity-AFK/Assets/Code/Scripts/Quest/Quest.cs
+++ b/IF3210-2024-Unity-AFK/Assets/Code/Scripts/Quest/Quest.cs
@@ -35,7 +35,7 @@ public class Quest
         }
     }
 
-    private GameObject GetCurrentQuestStep()
+    public GameObject GetCurrentQuestStep()
     {
         GameObject questStep = null;
         if (CurrentStepExists())
diff --git a/IF3210-2024-Unity-AFK/Assets/Code/Scripts/Quest/QuestManager.cs b/IF3210-2024-Unity-AFK/Assets/Code/Scripts/Quest/QuestManager.cs
index 1cd827e6..67147519 100644
--- a/IF3210-2024-Unity-AFK/Assets/Code/Scripts/Quest/QuestManager.cs
+++ b/IF3210-2024-Unity-AFK/Assets/Code/Scripts/Quest/QuestManager.cs
@@ -103,6 +103,17 @@ public class QuestManager : MonoBehaviour, IDataPersistence
         return idToQuestMap;
     }
 
+    public void SkipCurrentQuest()
+    {
+        foreach (Quest quest in questMap.Values)
+        {
+            if (quest.state.Equals(QuestState.IN_PROGRESS))
+            {
+                GameManager.FinishQuest(quest.info.id);
+            }
+        }
+    }
+
     private Quest GetQuestById(string id)
     {
         return questMap[id];
@@ -128,7 +139,7 @@ public class QuestManager : MonoBehaviour, IDataPersistence
         int idx = 0;
         foreach (Quest quest in questMap.Values)
         {
-            quest.state = (QuestState) data.questState[idx];
+            quest.state = (QuestState)data.questState[idx];
             GameManager.QuestStateChange(quest);
             idx++;
         }
@@ -138,7 +149,7 @@ public class QuestManager : MonoBehaviour, IDataPersistence
     {
         foreach (Quest quest in questMap.Values)
         {
-            data.questState.Append((int) quest.state);
+            data.questState.Append((int)quest.state);
         }
     }
 }
diff --git a/IF3210-2024-Unity-AFK/ProjectSettings/ProjectSettings.asset b/IF3210-2024-Unity-AFK/ProjectSettings/ProjectSettings.asset
index 590bd37f..8143530a 100644
--- a/IF3210-2024-Unity-AFK/ProjectSettings/ProjectSettings.asset
+++ b/IF3210-2024-Unity-AFK/ProjectSettings/ProjectSettings.asset
@@ -140,7 +140,11 @@ PlayerSettings:
   visionOSBundleVersion: 1.0
   tvOSBundleVersion: 1.0
   bundleVersion: 0.1
-  preloadedAssets: []
+  preloadedAssets:
+  - {fileID: 11400000, guid: 9145c9e5015cc0340853a7c3fa4565f8, type: 2}
+  - {fileID: 11400000, guid: 5c67378b93471e446ab529dcaf5193d5, type: 2}
+  - {fileID: -3542042799318375949, guid: 11f97696518e6a74e9fbdbc9d74899a6, type: 2}
+  - {fileID: -3508527533700250897, guid: 7cd4a6b44a75c85429e8556938d57b6a, type: 2}
   metroInputSource: 0
   wsaTransparentSwapchain: 0
   m_HolographicPauseOnTrackingLoss: 1
-- 
GitLab