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; } }