From cc2d7578d77ffe547ef47b22ff424f62a032206d Mon Sep 17 00:00:00 2001
From: fernaldyl <90769501+fernaldy112@users.noreply.github.com>
Date: Fri, 14 Apr 2023 17:03:53 +0700
Subject: [PATCH] feat: main menu load game

---
 Assets/Scripts/MainMenu.cs         |  3 ++
 Assets/Scripts/Save/SaveHandler.cs | 53 ++++++++++++++++--------------
 2 files changed, 32 insertions(+), 24 deletions(-)

diff --git a/Assets/Scripts/MainMenu.cs b/Assets/Scripts/MainMenu.cs
index 4a4192d..db3234e 100644
--- a/Assets/Scripts/MainMenu.cs
+++ b/Assets/Scripts/MainMenu.cs
@@ -6,6 +6,8 @@ using UnityEngine.SceneManagement;
 public class MainMenu : MonoBehaviour
 {
     public GameObject LoadPanel;
+    public SaveHandler saveHandler;
+
     public void PlayGame() {
         SceneManager.LoadScene("Level_01");
     }
@@ -14,6 +16,7 @@ public class MainMenu : MonoBehaviour
     }
     public void LoadGame() {
         LoadPanel.SetActive(true);
+        saveHandler.LoadSaveSlots();
     }
     public void Settings() {
         SceneManager.LoadScene("Settings");
diff --git a/Assets/Scripts/Save/SaveHandler.cs b/Assets/Scripts/Save/SaveHandler.cs
index d261099..e96759c 100644
--- a/Assets/Scripts/Save/SaveHandler.cs
+++ b/Assets/Scripts/Save/SaveHandler.cs
@@ -18,35 +18,14 @@ public class SaveHandler : MonoBehaviour
         saveGameAgreement.SetActive(false);
         saveGameSlots.SetActive(true);
 
-        if (!Directory.Exists(Application.persistentDataPath + "/save/"))
-        {
-            Directory.CreateDirectory(Application.persistentDataPath + "/save/");
-        }
-
-        string[] files_str = Directory.GetFiles(Application.persistentDataPath + "/save/");
-        Dictionary<int, Tuple<string, DateTime>> files = preprocessFileName(files_str);
-
-        List<GameObject> slots = new List<GameObject> {
-            saveGameSlots.transform.Find("SaveSlot1").gameObject,
-            saveGameSlots.transform.Find("SaveSlot2").gameObject,
-            saveGameSlots.transform.Find("SaveSlot3").gameObject
-        };
-
-        for (int i=0; i<slots.Count; i++)
-        {
-            if (files.ContainsKey(i))
-            {
-                slots[i].transform.Find("SaveName").gameObject.GetComponent<Text>().text = files[i].Item1;
-                slots[i].transform.Find("SaveDate").gameObject.GetComponent<Text>().text = "Last saved: " + files[i].Item2.ToString();
-            } 
-        }
+        LoadSaveSlots();
     }
 
     public void OnSaveDisagreement()
     {
         saveGameAgreement.SetActive(false);
         Time.timeScale = 1;
-        inputHandler.setIsSaving(false);
+        inputHandler.setInactive(false);
     }
 
     public void OnSaveSlotSelection(int slotIdx)
@@ -75,7 +54,7 @@ public class SaveHandler : MonoBehaviour
         }
         OnSaveGame(slotIdx, saveName);
         Time.timeScale = 1;
-        inputHandler.setIsSaving(false);
+        inputHandler.setInactive(false);
     }
 
     public void OnSaveInputBack()
@@ -152,4 +131,30 @@ public class SaveHandler : MonoBehaviour
 
         return true;
     }
+
+    public void LoadSaveSlots()
+    {
+        if (!Directory.Exists(Application.persistentDataPath + "/save/"))
+        {
+            Directory.CreateDirectory(Application.persistentDataPath + "/save/");
+        }
+
+        string[] files_str = Directory.GetFiles(Application.persistentDataPath + "/save/");
+        Dictionary<int, Tuple<string, DateTime>> files = preprocessFileName(files_str);
+
+        List<GameObject> slots = new List<GameObject> {
+            saveGameSlots.transform.Find("SaveSlot1").gameObject,
+            saveGameSlots.transform.Find("SaveSlot2").gameObject,
+            saveGameSlots.transform.Find("SaveSlot3").gameObject
+        };
+
+        for (int i = 0; i < slots.Count; i++)
+        {
+            if (files.ContainsKey(i))
+            {
+                slots[i].transform.Find("SaveName").gameObject.GetComponent<Text>().text = files[i].Item1;
+                slots[i].transform.Find("SaveDate").gameObject.GetComponent<Text>().text = "Last saved: " + files[i].Item2.ToString();
+            }
+        }
+    }
 }
-- 
GitLab