// Assets/Scripts/World/Map/IMapService.cs
// 地图服务接口,通过 ServiceLocator 注册与查询。
// MapManager 实现此接口;MapPanel 等调用方通过接口解耦。
namespace BaseGames.World.Map
{
public interface IMapService
{
bool IsExplored(string roomId);
bool IsMapped(string roomId);
void SetMapped(string roomId);
MapDatabaseSO Database { get; }
/// 玩家当前所在区域 ID(最近一次 EVT_RegionChanged 对应的值)。
string CurrentRegionId { get; }
/// 已踏入的房间总数。
int ExploredRoomCount { get; }
/// 探索进度 0~1(已探索房间数 / 数据库总房间数)。
float GetExplorationProgress();
/// 返回属于指定区域的所有房间数据;regionId 为空时返回空数组。
MapRoomDataSO[] GetRoomsByRegion(string regionId);
}
}