namespace Giants.Core.Interfaces;
///
/// represente un outils qui permet de gérer une grille hexagonal
///
public interface IHexagonalGrid
{
///
/// indique le style de grille, voir https://www.redblobgames.com/grids/hexagons/ pour des détails
///
public enum HexStyle
{
/// Pointe vers le haut, impaire a droite
PointyOdd,
/// Pointe vers le haut, pair a droite
PointyEven,
/// Pointe vers le coté, impaire en bas
FlatOdd,
/// Pointe vers le coté, impaire en haut
FlatEven
}
///
/// Demande a la grille d'allouer sa taille et son type
///
/// le style de grid
public void Init(HexStyle style = HexStyle.PointyOdd);
///
/// Permet de recupérer la liste des tiles voisines d'une tile fournie en parametre
///
/// La tuile de laquelle on cherche les voisins
/// la liste des tiles voisines
public ICollection GetNeighbours(AxialCoords coords);
}