// ───────────────────────────────────────────────────────────────────────────── // WLFarmLookSettings.cs — FarmingIsland 맵을 데모 아트풍으로 통일하는 값의 단일 출처 // (WL-816a · #816) // // PD 지시(2026-09-13) 「나는 우선 FarmingIsland 맵의 배경을 지금 데모 씬처럼 통일시키고 싶어」 // // ■ C45 — 값은 코드 상수가 아니라 이 에셋(`Resources/WL/WLFarmLookSettings.asset`) // ■ C8 — `enabled_ = 0` 이면 `WLFarmLook` 이 **원본 머티리얼·원본 조명으로 되돌린다** = 100 % 원복 // // 🔴 어셈블리 주의: Assets/WL/Look/ 에 .asmdef 를 만들지 말 것(Assembly-CSharp 단일). // ───────────────────────────────────────────────────────────────────────────── using UnityEngine; namespace WL.Look.Farm { [CreateAssetMenu(fileName = "WLFarmLookSettings", menuName = "WL/Farm Look Settings", order = 38)] public sealed class WLFarmLookSettings : ScriptableObject { public const string ResourcesPath = "WL/WLFarmLookSettings"; private static WLFarmLookSettings s_instance; private static bool s_tried; /// 에셋이 없으면 null — 호출부는 전부 건너뛴다(C8 롤백). public static WLFarmLookSettings Instance { get { if (s_instance == null && !s_tried) { s_tried = true; s_instance = Resources.Load(ResourcesPath); } return s_instance; } } [Header("마스터 (C8)")] [Tooltip("0 이면 씬에 저장된 통일 룩을 전부 되돌린다 = FarmingIsland 원본 머티리얼·원본 조명 100 %.")] public int enabled_ = 1; [Tooltip("1 이면 적용 결과를 콘솔에 1줄 남긴다.")] public int verboseLog = 0; [Header("머티리얼")] [Tooltip("1 = 텍스처 유지안(Palette.png 를 Toon `_BaseMap` 에 그대로 꽂는다 · 권장) " + "· 2 = 단색안(데모처럼 텍스처 없이 메시별 팔레트 평균색).")] public int mode = 1; [Header("조명 · 앰비언트 · 스카이박스")] [Tooltip("1 이면 씬에 저장된 데모/아레나 조명값을 쓴다. 0 이면 FarmingIsland 원본 조명으로 되돌린다.")] public int applyLighting = 1; } }