using Unity.Netcode; using UnityEngine; namespace Northbound { /// /// 건물의 시야 제공 컴포넌트 /// public class BuildingVisionProvider : NetworkBehaviour, IVisionProvider { [Header("Vision Settings")] public float visionRange = 15f; private Building _building; private void Awake() { _building = GetComponent(); } 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.cyan; Gizmos.DrawWireSphere(transform.position, visionRange); } } }