[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:
parent
546ea28b43
commit
d32399fa0b
|
|
@ -27,7 +27,7 @@ MonoBehaviour:
|
||||||
defaultHitSeconds: 0.16
|
defaultHitSeconds: 0.16
|
||||||
correctFromLiveClip: 1
|
correctFromLiveClip: 1
|
||||||
maxTelegraphSeconds: 2.5
|
maxTelegraphSeconds: 2.5
|
||||||
decalEnabled: 1
|
decalEnabled: 0
|
||||||
maxConcurrent: 6
|
maxConcurrent: 6
|
||||||
poolWarmCount: 8
|
poolWarmCount: 8
|
||||||
groundYOffset: 0.06
|
groundYOffset: 0.06
|
||||||
|
|
|
||||||
|
|
@ -78,6 +78,7 @@ MonoBehaviour:
|
||||||
applyStartCoin: 1
|
applyStartCoin: 1
|
||||||
startCoin: 10
|
startCoin: 10
|
||||||
saveResetToken: 816g-1
|
saveResetToken: 816g-1
|
||||||
|
resetSaveEveryStart: 1
|
||||||
dungeonCameraMatchIsland: 1
|
dungeonCameraMatchIsland: 1
|
||||||
camPitch: 45
|
camPitch: 45
|
||||||
camYaw: 0
|
camYaw: 0
|
||||||
|
|
|
||||||
|
|
@ -60,6 +60,7 @@ namespace WL.Island
|
||||||
|
|
||||||
const string kTokenKey = "WL_Island_SaveToken";
|
const string kTokenKey = "WL_Island_SaveToken";
|
||||||
static System.Reflection.FieldInfo s_startingMoney;
|
static System.Reflection.FieldInfo s_startingMoney;
|
||||||
|
static bool s_resetDoneThisRun; // 2026-09-15 PD — 실행(Play) 1회당 1번만 초기화
|
||||||
|
|
||||||
/// <summary>`IslandManager.Awake` 안(= `LoadGameData()` 직전)에서 단 한 번 불린다.</summary>
|
/// <summary>`IslandManager.Awake` 안(= `LoadGameData()` 직전)에서 단 한 번 불린다.</summary>
|
||||||
public static void Prepare(string saveName)
|
public static void Prepare(string saveName)
|
||||||
|
|
@ -67,10 +68,14 @@ namespace WL.Island
|
||||||
var cfg = WLIslandSettings.Instance;
|
var cfg = WLIslandSettings.Instance;
|
||||||
if (cfg == null || cfg.enabled_ == 0 || cfg.gateFlowEnabled == 0) return;
|
if (cfg == null || cfg.enabled_ == 0 || cfg.gateFlowEnabled == 0) return;
|
||||||
|
|
||||||
// ① 세이브 1회 초기화 — 토큰이 바뀌었을 때만(PD 에게 새 초기 상태를 보여 줄 때)
|
// ① 세이브 초기화 — 토큰이 바뀌었을 때(1회) · 또는 `resetSaveEveryStart` 면 **게임 시작마다**(실행 1회당 1번 ·
|
||||||
if (!string.IsNullOrEmpty(cfg.saveResetToken) &&
|
// 던전에서 섬으로 돌아올 때는 아님 · 2026-09-15 PD 「내가 얘기하기 전까지 매번 초기화 상태에서 시작」)
|
||||||
PlayerPrefs.GetString(kTokenKey, "") != cfg.saveResetToken)
|
bool everyStart = cfg.resetSaveEveryStart != 0 && !s_resetDoneThisRun;
|
||||||
|
if (everyStart ||
|
||||||
|
(!string.IsNullOrEmpty(cfg.saveResetToken) &&
|
||||||
|
PlayerPrefs.GetString(kTokenKey, "") != cfg.saveResetToken))
|
||||||
{
|
{
|
||||||
|
s_resetDoneThisRun = true;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string path = Application.persistentDataPath + "/" + saveName + ".dat";
|
string path = Application.persistentDataPath + "/" + saveName + ".dat";
|
||||||
|
|
|
||||||
|
|
@ -313,6 +313,11 @@ namespace WL.Island
|
||||||
"비우면 아무것도 지우지 않는다. PD 에게 새 상태를 보여 줄 때 값을 바꾼다.")]
|
"비우면 아무것도 지우지 않는다. PD 에게 새 상태를 보여 줄 때 값을 바꾼다.")]
|
||||||
public string saveResetToken = "816g-1";
|
public string saveResetToken = "816g-1";
|
||||||
|
|
||||||
|
[Tooltip("🔴 1 이면 **게임을 시작할 때마다**(Play/앱 실행 1회당 1번 · 던전에서 섬으로 돌아올 때는 아님) 섬 세이브·던전 해금·보류 보상을 " +
|
||||||
|
"전부 지우고 시작 골드부터 다시 시작한다 — 2026-09-15 PD 「내가 얘기하기 전까지는 게임 시작 시 매번 초기화된 상태에서 시작」" +
|
||||||
|
"(초반 Flow 구성 예정). 0 = 세이브 유지(토큰 1회 초기화만).")]
|
||||||
|
public int resetSaveEveryStart = 1;
|
||||||
|
|
||||||
// ───────────────────────────────── WL-816i · 카메라 구도 고정
|
// ───────────────────────────────── WL-816i · 카메라 구도 고정
|
||||||
// PD 「카메라 구도는 섬에서 조작할 때의 각도와 뷰를 말한거야. 전장에 진입해도 바뀌지 않아야 하기 때문」
|
// PD 「카메라 구도는 섬에서 조작할 때의 각도와 뷰를 말한거야. 전장에 진입해도 바뀌지 않아야 하기 때문」
|
||||||
// → 기준은 **섬**. 아래 기본값은 섬(FI) 카메라 실측값 그대로다.
|
// → 기준은 **섬**. 아래 기본값은 섬(FI) 카메라 실측값 그대로다.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue