[WL-816] 게임 시작마다 섬 세이브 초기화(resetSaveEveryStart 1) + 몬스터 공격 예고 바닥 판 off(decalEnabled 0) (PD 2026-09-15 · #816)

- WLIslandSave.Prepare: resetSaveEveryStart 면 실행 1회당 1번 세이브 삭제·던전 해금 0·보류 보상 0(던전→섬 복귀 시엔 아님). 되돌리기 = 0.
- WLTelegraphSettings.asset decalEnabled 1→0 (값만).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
깃 관리자 2026-09-15 01:18:59 +09:00
parent 546ea28b43
commit d32399fa0b
4 changed files with 15 additions and 4 deletions

View File

@ -27,7 +27,7 @@ MonoBehaviour:
defaultHitSeconds: 0.16
correctFromLiveClip: 1
maxTelegraphSeconds: 2.5
decalEnabled: 1
decalEnabled: 0
maxConcurrent: 6
poolWarmCount: 8
groundYOffset: 0.06

View File

@ -78,6 +78,7 @@ MonoBehaviour:
applyStartCoin: 1
startCoin: 10
saveResetToken: 816g-1
resetSaveEveryStart: 1
dungeonCameraMatchIsland: 1
camPitch: 45
camYaw: 0

View File

@ -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번만 초기화
/// <summary>`IslandManager.Awake` 안(= `LoadGameData()` 직전)에서 단 한 번 불린다.</summary>
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";

View File

@ -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) 카메라 실측값 그대로다.