using System.Collections.Generic;
namespace NHSE.Core;
///
/// Logic for interacting with a map's building layer.
///
public interface ILayerBuilding
{
///
/// Instantiated list of all buildings on the map.
///
IReadOnlyList Buildings { get; init; }
///
/// Converts relative building coordinates to absolute coordinates in the map grid.
///
/// Relative building X coordinate
/// Relative building Y coordinate
/// Map absolute X/Y coordinates
(int X, int Y) GetCoordinatesAbsolute(ushort relX, ushort relY);
///
/// Converts absolute map grid coordinates to relative building coordinates.
///
/// Map absolute X coordinate
/// Map absolute Y coordinate
/// Relative building X/Y coordinates
(int X, int Y) GetCoordinatesRelative(int absX, int absY);
Building this[int i] { get; }
int Count { get; }
}