using Godot; /// <summary> /// 房间的门 /// </summary> public class RoomDoorInfo { /// <summary> /// 所在墙面方向 /// </summary> public DoorDirection Direction; /// <summary> /// 所在的房间 /// </summary> public RoomInfo RoomInfo; /// <summary> /// 连接的门 /// </summary> public RoomDoorInfo ConnectDoor; /// <summary> /// 连接的房间 /// </summary> public RoomInfo ConnectRoom; /// <summary> /// 原点坐标, 单位: 格 /// </summary> public Vector2I OriginPosition; /// <summary> /// 与下一道门是否有交叉点 /// </summary> public bool HasCross; /// <summary> /// 与下一道门的交叉点, 单位: 格 /// </summary> public Vector2I Cross; /// <summary> /// 占位导航网格 /// </summary> public DoorNavigationInfo Navigation; /// <summary> /// 门实例 /// </summary> public RoomDoor Door; /// <summary> /// 世界坐标下的原点坐标, 单位: 像素 /// </summary> public Vector2I GetWorldOriginPosition() { return new Vector2I( OriginPosition.X * GameConfig.TileCellSize, OriginPosition.Y * GameConfig.TileCellSize ); } }