From 34dd82b90764e8520c627696e6639dd0c1380cf9 Mon Sep 17 00:00:00 2001 From: 99jamin <99jamin56@gmail.com> Date: Mon, 21 Apr 2025 17:36:26 +0900 Subject: [PATCH] =?UTF-8?q?DEG-23=20[Fix]=20=EC=9E=90=EB=8F=99=EC=A0=80?= =?UTF-8?q?=EC=9E=A5=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/KJM/KJM_Test/SaveManager.cs | 12 ++++++++++-- Assets/KJM/KJM_Test/StatManager.cs | 18 +++++++++++++++++- 2 files changed, 27 insertions(+), 3 deletions(-) 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");