에디터에서 전장의 안개 기능을 끌 수 있는 기능 추가

This commit is contained in:
2026-02-01 01:52:05 +09:00
parent 5d0ed26578
commit 3a2b5c7054
2 changed files with 28 additions and 0 deletions

View File

@@ -89,6 +89,13 @@ namespace Northbound
Debug.LogWarning("[FogOfWar] Fog Material이 설정되지 않았습니다!");
}
#if UNITY_EDITOR
if (fogSystem.disableInEditor)
{
_meshRenderer.enabled = false;
}
#endif
// 렌더링 레이어 설정
gameObject.layer = LayerMask.NameToLayer("UI"); // 또는 별도 레이어 생성
@@ -123,6 +130,18 @@ namespace Northbound
var fogSystem = FogOfWarSystem.Instance;
if (fogSystem == null) return;
#if UNITY_EDITOR
if (fogSystem.disableInEditor)
{
if (_meshRenderer != null)
_meshRenderer.enabled = false;
return;
}
#endif
if (_meshRenderer != null)
_meshRenderer.enabled = true;
var fogData = fogSystem.GetPlayerFogData(_localClientId);
for (int y = 0; y < fogSystem.gridHeight; y++)

View File

@@ -217,6 +217,10 @@ namespace Northbound
[Tooltip("Minimum obstacle height to block vision")]
public float minBlockingHeight = 2.0f;
[Header("Editor Settings")]
[Tooltip("Disable fog of war in Unity Editor for easier development")]
public bool disableInEditor = true;
// 서버: 각 플레이어별 가시성 맵
private Dictionary<ulong, FogOfWarData> _serverFogData = new Dictionary<ulong, FogOfWarData>();
@@ -462,6 +466,11 @@ namespace Northbound
/// </summary>
public FogOfWarState GetVisibilityState(ulong clientId, Vector3 worldPosition)
{
#if UNITY_EDITOR
if (disableInEditor)
return FogOfWarState.Visible;
#endif
FogOfWarData fogData = GetPlayerFogData(clientId);
if (fogData == null)
return FogOfWarState.Unexplored;