using System.Text.Json.Serialization;
using LittleTown.Core.Enums;

namespace LittleTown.Core;

/// <summary>
/// Represente les infos d'une tile sur le plateau de jeu
/// /// </summary>
public record struct Tile
{
    /// <summary>
    /// Le type de ressource présente sur cette Tile
    /// </summary>
    /// <value></value>
    [JsonConverter(typeof(JsonStringEnumConverter))]
    public ResourceType ResourceType { get; init; }

    /// <summary>
    /// Position X sur le plateau de cette tile, X = 0 a gauche du plateau
    /// </summary>
    /// <value></value>
    public int PosX { get; init; }
    /// <summary>
    /// Position Y, sur la hauteur, du plateau, le Y = 0 est en bas du plateau
    /// </summary>
    /// <value></value>
    public int PosY { get; init; }
}