56 lines
2.7 KiB
C#
56 lines
2.7 KiB
C#
// ─────────────────────────────────────────────────────────────────────────────
|
|
// 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;
|
|
|
|
/// <summary>에셋이 없으면 null — 호출부는 전부 건너뛴다(C8 롤백).</summary>
|
|
public static WLFarmLookSettings Instance
|
|
{
|
|
get
|
|
{
|
|
if (s_instance == null && !s_tried)
|
|
{
|
|
s_tried = true;
|
|
s_instance = Resources.Load<WLFarmLookSettings>(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;
|
|
}
|
|
}
|