diff --git a/Assets/KJM/KJM_Test/SaveManager.cs b/Assets/KJM/KJM_Test/SaveManager.cs index f9eb89ab..be80f79f 100644 --- a/Assets/KJM/KJM_Test/SaveManager.cs +++ b/Assets/KJM/KJM_Test/SaveManager.cs @@ -2,6 +2,7 @@ using System.Collections; using System.Collections.Generic; using System.IO; using CI.QuickSave; +using Unity.VisualScripting; using UnityEngine; using UnityEngine.SceneManagement; @@ -17,8 +18,6 @@ public class SaveManager : Singleton void Start() { - mainSave = new Save(); - backupSave = new Save(); if (!QuickSaveRaw.Exists(SaveFilePath)) // Save_Main 파일이 없을때 { @@ -51,6 +50,8 @@ public class SaveManager : Singleton mainSave = LoadMain(); backupSave = LoadBackup(); + StatManager.instance.loadSaveData2StataManager(mainSave); + Debug.Log("메인 로드" + mainSave.homeSave.reputation); Debug.Log("백업 로드" + backupSave.homeSave.reputation); } @@ -88,7 +89,14 @@ public class SaveManager : Singleton protected override void OnSceneLoaded(Scene scene, LoadSceneMode mode) { + StartCoroutine(SaveAfterOneFrame()); //Awake와 충돌 방지를 위해 1프레임 대기 후 자동 저장 + } + + private IEnumerator SaveAfterOneFrame() + { + yield return null; // 1 프레임 대기 Save(); Debug.Log("자동저장"); } + } diff --git a/Assets/KJM/KJM_Test/StatManager.cs b/Assets/KJM/KJM_Test/StatManager.cs index ff9e0ad1..d249b02f 100644 --- a/Assets/KJM/KJM_Test/StatManager.cs +++ b/Assets/KJM/KJM_Test/StatManager.cs @@ -23,8 +23,9 @@ public class StatManager : MonoBehaviour public float health; public float reputation; public bool isEvent; //Todo 이벤트 여부 및 관련 조건들 추가 + - private void Start() + private void Awake() { instance = this; } @@ -83,6 +84,21 @@ public class StatManager : MonoBehaviour }; } + public void loadSaveData2StataManager(Save saveData) + { + attackLevel = saveData.dungeonSave.attackLevel; + attackSpeedLevel = saveData.dungeonSave.attackSpeedLevel; + heartLevel = saveData.dungeonSave.heartLevel; + moveSpeedLevel = saveData.dungeonSave.moveSpeedLevel; + evasionTimeLevel = saveData.dungeonSave.evasionTimeLevel; + stageLevel = saveData.dungeonSave.stageLevel; + + time = saveData.homeSave.time; + health = saveData.homeSave.health; + reputation = saveData.homeSave.reputation; + isEvent = saveData.homeSave.isEvent; + } + public void SceneChange() { SceneManager.LoadScene("Main");