/// <summary> /// Converts <see cref="RectangleEdgePositionsListSerialized"/> to <see cref="RectangleEdgePositionsList"/>. /// </summary> /// <returns/> public RectangleEdgePositionsList ToRectangleEdgePositionsList() { var result = new RectangleEdgePositionsList(Rectangle); result.AddRange(Positions.Select(pointSerialized => (Point)pointSerialized)); return(result); }
/// <summary> /// Creates a new list of doors for a given room. /// </summary> /// <param name="room">The room having its doors tracked.</param> public RoomDoors(Rectangle room) { _positionsList = new RectangleEdgePositionsList(room.Expand(1, 1)); _doorToStepMapping = new Dictionary <Point, string>(); }
/// <summary> /// Converts <see cref="RectangleEdgePositionsList"/> to <see cref="RectangleEdgePositionsListSerialized"/>. /// </summary> /// <param name="list"/> /// <returns/> public static RectangleEdgePositionsListSerialized FromRectangleEdgePositionsList( RectangleEdgePositionsList list) => new RectangleEdgePositionsListSerialized() { Rectangle = list.Rectangle, Positions = list.Select(point => (PointSerialized)point).ToList() };