namespace BaseGames.World.Map
{
///
/// IMapService 无状态扩展方法,集中可复用的查询逻辑。
/// MapPanel、MinimapHUD 等所有消费方均调用此处,避免分散的重复实现。
///
public static class MapServiceExtensions
{
///
/// 根据探索状态推导房间三级可见性(Explored > Mapped > Unknown)。
///
public static RoomVisibility GetVisibility(this IMapService svc, string roomId)
{
if (svc == null) return RoomVisibility.Unknown;
if (svc.IsExplored(roomId)) return RoomVisibility.Explored;
if (svc.IsMapped(roomId)) return RoomVisibility.Mapped;
return RoomVisibility.Unknown;
}
}
}