using System;
using UnityEngine;
namespace BaseGames.World.Map
{
///
/// 玩家地图位置信息提供者接口。
///
/// MapPanel / MinimapHUD 依赖此接口而非具体组件,
/// 支持替换实现(单人、多人、观察者模式、重播系统等场景)。
///
/// 通过 注册与获取。
///
public interface IPlayerPositionProvider
{
/// 玩家当前所在房间 ID;未在任何已知房间内时为 null 或空字符串。
string CurrentRoomId { get; }
///
/// 玩家在当前房间内的归一化坐标(0~1,基于世界坐标精确插值)。
/// 每帧更新,可用于平滑移动图标。
///
Vector2 NormalizedPositionInRoom { get; }
/// 玩家进入新房间时触发(参数为新房间 ID)。
event Action OnRoomChanged;
}
}