From d77d74624f3ee1fbfb653b16a276dc87b03ffbca Mon Sep 17 00:00:00 2001
From: JevantJedidia <jevantjedidia@gmail.com>
Date: Fri, 14 Apr 2023 22:12:29 +0700
Subject: [PATCH] fix shop after reset

---
 .../Scripts/Controllers/StateController.cs       | 16 ++++++++++++++++
 My project/Assets/Scripts/Managers/GameOver.cs   |  3 ++-
 My project/Assets/Scripts/SaveLoad/LoadUI.cs     | 12 ++++++------
 My project/Assets/Scripts/SaveLoad/SaveLoad.cs   |  1 +
 My project/Assets/Scripts/SaveLoad/State.cs      |  4 ++++
 5 files changed, 29 insertions(+), 7 deletions(-)

diff --git a/My project/Assets/Scripts/Controllers/StateController.cs b/My project/Assets/Scripts/Controllers/StateController.cs
index fb45861..e10271b 100644
--- a/My project/Assets/Scripts/Controllers/StateController.cs	
+++ b/My project/Assets/Scripts/Controllers/StateController.cs	
@@ -23,6 +23,7 @@ public class StateController : MonoBehaviour
     public static int petCurrentHealth = 0;
     public static bool showSaveUI = true;
     public static int playerHealth = 100;
+    public static string saveSlotName;
 
     public static void reset()
     {
@@ -43,5 +44,20 @@ public class StateController : MonoBehaviour
         petTag = 3;
         petCurrentHealth = 0;
         slot = "0";
+        resetShop();
+    }
+
+    public static void resetShop()
+    {
+        ShopController.isShotgunBought = boughtSword;
+        ShopController.isSwordBought = boughtSword;
+        ShopController.isBowBought = boughtBow;
+        ShopController.isHealerBought = (petTag == 0);
+        ShopController.isAttackerBought = (petTag == 1);
+        ShopController.isBuffBought = (petTag == 2);
+        ShopController.isShotgunUpgraded = (shotGunMultiplier != 1);
+        ShopController.isSwordUpgraded = (swordMultiplier != 1);
+        ShopController.isBowUpgraded = (bowMultiplier != 1);
+        ShopController.isDefaultUpgraded = (gunMultiplier != 1);
     }
 }
\ No newline at end of file
diff --git a/My project/Assets/Scripts/Managers/GameOver.cs b/My project/Assets/Scripts/Managers/GameOver.cs
index 62e23eb..9c296cd 100644
--- a/My project/Assets/Scripts/Managers/GameOver.cs	
+++ b/My project/Assets/Scripts/Managers/GameOver.cs	
@@ -53,7 +53,7 @@ public class GameOver : MonoBehaviour
         if (StateController.slot == "0")
         {
             SceneManager.LoadScene(1);
-            //tambah reset
+            StateController.reset();
         }
         else
         {
@@ -65,6 +65,7 @@ public class GameOver : MonoBehaviour
             stream.Close();
             save.Load(StateController.slot);
             StateController.showSaveUI = false;
+            StateController.resetShop();
             toShop();
         }
     }
diff --git a/My project/Assets/Scripts/SaveLoad/LoadUI.cs b/My project/Assets/Scripts/SaveLoad/LoadUI.cs
index d03851a..dde5370 100644
--- a/My project/Assets/Scripts/SaveLoad/LoadUI.cs	
+++ b/My project/Assets/Scripts/SaveLoad/LoadUI.cs	
@@ -43,11 +43,11 @@ public class LoadUI : MonoBehaviour
 
             if (lastmodified != null)
             {
-                load1.text = save1.userName + " " + lastmodified.ToString();
+                load1.text = save1.saveSlotName + " " + lastmodified.ToString();
             }
             else 
             {
-                load1.text = save1.userName + " " + created.ToString();
+                load1.text = save1.saveSlotName + " " + created.ToString();
             }
         }
         else
@@ -68,11 +68,11 @@ public class LoadUI : MonoBehaviour
 
             if (lastmodified != null)
             {
-                load2.text = save2.userName + " " + lastmodified.ToString();
+                load2.text = save2.saveSlotName + " " + lastmodified.ToString();
             }
             else 
             {
-                load2.text = save2.userName + " " + created.ToString();
+                load2.text = save2.saveSlotName + " " + created.ToString();
             }
         }
         else
@@ -93,11 +93,11 @@ public class LoadUI : MonoBehaviour
 
             if (lastmodified != null)
             {
-                load3.text = save3.userName + " " + lastmodified.ToString();
+                load3.text = save3.saveSlotName + " " + lastmodified.ToString();
             }
             else 
             {
-                load3.text = save3.userName + " " + created.ToString();
+                load3.text = save3.saveSlotName + " " + created.ToString();
             }
         }
         else
diff --git a/My project/Assets/Scripts/SaveLoad/SaveLoad.cs b/My project/Assets/Scripts/SaveLoad/SaveLoad.cs
index c2baa5a..b6446d9 100644
--- a/My project/Assets/Scripts/SaveLoad/SaveLoad.cs	
+++ b/My project/Assets/Scripts/SaveLoad/SaveLoad.cs	
@@ -34,6 +34,7 @@ public class SaveLoad : MonoBehaviour
             stream.Close();
             save.Load(slot);
             StateController.showSaveUI = false;
+            StateController.resetShop();
             toShop();
         }
         else
diff --git a/My project/Assets/Scripts/SaveLoad/State.cs b/My project/Assets/Scripts/SaveLoad/State.cs
index 4b0205c..05a0745 100644
--- a/My project/Assets/Scripts/SaveLoad/State.cs	
+++ b/My project/Assets/Scripts/SaveLoad/State.cs	
@@ -25,6 +25,8 @@ public class State
 
     public int playerHealth;
 
+    public string saveSlotName;
+
     public State(int curQuestId)
     {
         userName = StateController.userName;
@@ -42,6 +44,7 @@ public class State
         petTag = StateController.petTag;
         petCurrentHealth = StateController.petCurrentHealth;
         playerHealth = StateController.playerHealth;
+        saveSlotName = StateController.saveSlotName;
         this.curQuestId = curQuestId;
     }
 
@@ -64,6 +67,7 @@ public class State
         StateController.petTag = petTag;
         StateController.petCurrentHealth = petCurrentHealth;
         StateController.playerHealth = playerHealth;
+        StateController.saveSlotName = saveSlotName;
         QuestManager questManager = GameObject.Find("QuestManager").GetComponent<QuestManager>();
         questManager.currentQuest = questManager.questList[StateController.curQuestId];
     }
-- 
GitLab