37 lines
1.8 KiB
C#
37 lines
1.8 KiB
C#
// ─────────────────────────────────────────────────────────────────────────────
|
|
// WLIslandSaveSettings.cs — 섬 세이브 이름 고정 설정(SO).
|
|
//
|
|
// 🔴 왜 파일을 나눴나 (Lead 실측 · 2026-09-13)
|
|
// 유니티는 `ScriptableObject` 를 **클래스 이름과 같은 이름의 .cs 파일**에서만
|
|
// `MonoScript` 로 인식한다. 이 클래스가 `WLIslandSave.cs` 안에 있던 동안에는
|
|
// `.asset` 의 `m_Script` 가 **`{fileID: 0}`** 로 비어 저장돼
|
|
// `Resources.Load` 가 null 을 돌려줬고, 그래서 세이브 단일화(main `33afe0b8d`)가
|
|
// **동작하지 않았다**(816g 가 실측으로 지목: `WL_Island.dat` 가 아니라
|
|
// `Level01.dat`/`InGame.dat` 가 생김). 파일을 분리해 바로잡는다.
|
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
|
|
using UnityEngine;
|
|
|
|
namespace WL.Island
|
|
{
|
|
public sealed class WLIslandSaveSettings : ScriptableObject
|
|
{
|
|
[Tooltip("0 이면 원본 동작(활성 씬 이름)으로 되돌아간다.")]
|
|
public int enabled_ = 1;
|
|
|
|
[Tooltip("모든 경로가 공유할 세이브 파일 이름(확장자 제외).")]
|
|
public string saveName = "WL_Island";
|
|
|
|
[Tooltip("1 이면 해석 결과를 로그로 남긴다.")]
|
|
public int verboseLog = 0;
|
|
|
|
static WLIslandSaveSettings s_cache;
|
|
|
|
public static WLIslandSaveSettings Get()
|
|
{
|
|
if (s_cache == null) s_cache = Resources.Load<WLIslandSaveSettings>("WL/WLIslandSaveSettings");
|
|
return s_cache;
|
|
}
|
|
}
|
|
}
|