From d32399fa0bd5eaa3c2e313356d5538a2ee04c6eb Mon Sep 17 00:00:00 2001 From: swrring Date: Tue, 15 Sep 2026 01:18:59 +0900 Subject: [PATCH] =?UTF-8?q?[WL-816]=20=EA=B2=8C=EC=9E=84=20=EC=8B=9C?= =?UTF-8?q?=EC=9E=91=EB=A7=88=EB=8B=A4=20=EC=84=AC=20=EC=84=B8=EC=9D=B4?= =?UTF-8?q?=EB=B8=8C=20=EC=B4=88=EA=B8=B0=ED=99=94(resetSaveEveryStart=201?= =?UTF-8?q?)=20+=20=EB=AA=AC=EC=8A=A4=ED=84=B0=20=EA=B3=B5=EA=B2=A9=20?= =?UTF-8?q?=EC=98=88=EA=B3=A0=20=EB=B0=94=EB=8B=A5=20=ED=8C=90=20off(decal?= =?UTF-8?q?Enabled=200)=20(PD=202026-09-15=20=C2=B7=20#816)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - WLIslandSave.Prepare: resetSaveEveryStart 면 실행 1회당 1번 세이브 삭제·던전 해금 0·보류 보상 0(던전→섬 복귀 시엔 아님). 되돌리기 = 0. - WLTelegraphSettings.asset decalEnabled 1→0 (값만). Co-Authored-By: Claude Fable 5.1 --- .../Settings/Resources/WL/WLTelegraphSettings.asset | 2 +- Assets/WL/Island/Resources/WL/WLIslandSettings.asset | 1 + Assets/WL/Island/WLIslandSave.cs | 11 ++++++++--- Assets/WL/Island/WLIslandSettings.cs | 5 +++++ 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/Assets/WL/Combat/Settings/Resources/WL/WLTelegraphSettings.asset b/Assets/WL/Combat/Settings/Resources/WL/WLTelegraphSettings.asset index 52764c5f6..230009cfa 100644 --- a/Assets/WL/Combat/Settings/Resources/WL/WLTelegraphSettings.asset +++ b/Assets/WL/Combat/Settings/Resources/WL/WLTelegraphSettings.asset @@ -27,7 +27,7 @@ MonoBehaviour: defaultHitSeconds: 0.16 correctFromLiveClip: 1 maxTelegraphSeconds: 2.5 - decalEnabled: 1 + decalEnabled: 0 maxConcurrent: 6 poolWarmCount: 8 groundYOffset: 0.06 diff --git a/Assets/WL/Island/Resources/WL/WLIslandSettings.asset b/Assets/WL/Island/Resources/WL/WLIslandSettings.asset index 2ea88e8ee..79d63d340 100644 --- a/Assets/WL/Island/Resources/WL/WLIslandSettings.asset +++ b/Assets/WL/Island/Resources/WL/WLIslandSettings.asset @@ -78,6 +78,7 @@ MonoBehaviour: applyStartCoin: 1 startCoin: 10 saveResetToken: 816g-1 + resetSaveEveryStart: 1 dungeonCameraMatchIsland: 1 camPitch: 45 camYaw: 0 diff --git a/Assets/WL/Island/WLIslandSave.cs b/Assets/WL/Island/WLIslandSave.cs index 1bd93a481..074f06599 100644 --- a/Assets/WL/Island/WLIslandSave.cs +++ b/Assets/WL/Island/WLIslandSave.cs @@ -60,6 +60,7 @@ namespace WL.Island const string kTokenKey = "WL_Island_SaveToken"; static System.Reflection.FieldInfo s_startingMoney; + static bool s_resetDoneThisRun; // 2026-09-15 PD — 실행(Play) 1회당 1번만 초기화 /// `IslandManager.Awake` 안(= `LoadGameData()` 직전)에서 단 한 번 불린다. public static void Prepare(string saveName) @@ -67,10 +68,14 @@ namespace WL.Island var cfg = WLIslandSettings.Instance; if (cfg == null || cfg.enabled_ == 0 || cfg.gateFlowEnabled == 0) return; - // ① 세이브 1회 초기화 — 토큰이 바뀌었을 때만(PD 에게 새 초기 상태를 보여 줄 때) - if (!string.IsNullOrEmpty(cfg.saveResetToken) && - PlayerPrefs.GetString(kTokenKey, "") != cfg.saveResetToken) + // ① 세이브 초기화 — 토큰이 바뀌었을 때(1회) · 또는 `resetSaveEveryStart` 면 **게임 시작마다**(실행 1회당 1번 · + // 던전에서 섬으로 돌아올 때는 아님 · 2026-09-15 PD 「내가 얘기하기 전까지 매번 초기화 상태에서 시작」) + bool everyStart = cfg.resetSaveEveryStart != 0 && !s_resetDoneThisRun; + if (everyStart || + (!string.IsNullOrEmpty(cfg.saveResetToken) && + PlayerPrefs.GetString(kTokenKey, "") != cfg.saveResetToken)) { + s_resetDoneThisRun = true; try { string path = Application.persistentDataPath + "/" + saveName + ".dat"; diff --git a/Assets/WL/Island/WLIslandSettings.cs b/Assets/WL/Island/WLIslandSettings.cs index 81554a7ce..6a83995cf 100644 --- a/Assets/WL/Island/WLIslandSettings.cs +++ b/Assets/WL/Island/WLIslandSettings.cs @@ -313,6 +313,11 @@ namespace WL.Island "비우면 아무것도 지우지 않는다. PD 에게 새 상태를 보여 줄 때 값을 바꾼다.")] public string saveResetToken = "816g-1"; + [Tooltip("🔴 1 이면 **게임을 시작할 때마다**(Play/앱 실행 1회당 1번 · 던전에서 섬으로 돌아올 때는 아님) 섬 세이브·던전 해금·보류 보상을 " + + "전부 지우고 시작 골드부터 다시 시작한다 — 2026-09-15 PD 「내가 얘기하기 전까지는 게임 시작 시 매번 초기화된 상태에서 시작」" + + "(초반 Flow 구성 예정). 0 = 세이브 유지(토큰 1회 초기화만).")] + public int resetSaveEveryStart = 1; + // ───────────────────────────────── WL-816i · 카메라 구도 고정 // PD 「카메라 구도는 섬에서 조작할 때의 각도와 뷰를 말한거야. 전장에 진입해도 바뀌지 않아야 하기 때문」 // → 기준은 **섬**. 아래 기본값은 섬(FI) 카메라 실측값 그대로다.