diff --git a/Assets/Scripts/Save/SaveHandler.cs b/Assets/Scripts/Save/SaveHandler.cs index db9682eb8a34600da7bf07e67057b525a12442ee..a303daa1d84d7c8d52d1691488c899e99ac7764c 100644 --- a/Assets/Scripts/Save/SaveHandler.cs +++ b/Assets/Scripts/Save/SaveHandler.cs @@ -83,11 +83,11 @@ public class SaveHandler : MonoBehaviour SaveManager.Save(slotIdx, saveName, SaveData.getSaveData()); } - public void OnLoadGame() + public void OnLoadGame(string fileName) { GameObject player = GameObject.FindGameObjectWithTag("Player"); QuestManager questManager = GetComponent<QuestManager>(); - SaveData data = (SaveData)SaveManager.Load("1_left"); // change + SaveData data = (SaveData)SaveManager.Load(fileName); player.transform.position = data.playerPosition; player.transform.rotation = data.playerRotation; player.GetComponent<PlayerHealth>().currentHealth = data.playerHealth; @@ -115,4 +115,35 @@ public class SaveHandler : MonoBehaviour } return files; } + + public bool loadLastSave() + { + if (!Directory.Exists(Application.persistentDataPath + "/save/")) + { + Directory.CreateDirectory(Application.persistentDataPath + "/save/"); + } + + string[] files_str = Directory.GetFiles(Application.persistentDataPath + "/save/"); + + if (files_str.Length == 0) + { + return false; + } + + string latestFile = files_str[0]; + DateTime saveTime = new FileInfo(latestFile).LastWriteTime; + for (int i=1; i<files_str.Length; i++) + { + DateTime curSaveTime = new FileInfo(files_str[i]).LastWriteTime; + if (curSaveTime > saveTime) + { + saveTime = curSaveTime; + latestFile = files_str[i]; + } + } + + OnLoadGame(latestFile.Replace(Application.persistentDataPath + "/save/", "").Replace(".sshooter", "")); + + return true; + } }