전장의 안개 구현

This commit is contained in:
2026-01-27 12:38:18 +09:00
parent ee2b27d0a0
commit 67773e5864
23 changed files with 1610 additions and 402 deletions

View File

@@ -0,0 +1,41 @@
using Unity.Netcode;
using UnityEngine;
namespace Northbound
{
/// <summary>
/// 플레이어의 시야 제공 컴포넌트
/// </summary>
public class PlayerVisionProvider : NetworkBehaviour, IVisionProvider
{
[Header("Vision Settings")]
public float visionRange = 10f;
public override void OnNetworkSpawn()
{
if (IsServer)
{
FogOfWarSystem.Instance?.RegisterVisionProvider(this);
}
}
public override void OnNetworkDespawn()
{
if (IsServer)
{
FogOfWarSystem.Instance?.UnregisterVisionProvider(this);
}
}
public ulong GetOwnerId() => OwnerClientId;
public float GetVisionRange() => visionRange;
public Transform GetTransform() => transform;
public bool IsActive() => IsSpawned;
private void OnDrawGizmosSelected()
{
Gizmos.color = Color.yellow;
Gizmos.DrawWireSphere(transform.position, visionRange);
}
}
}