namespace Minesweeper.Core
{
    public readonly struct BoardCellData
    {
        public BoardCellData(int x, int y, bool isMine, bool isOpened, bool isFlagged, int neighborMines)
        {
            X = x;
            Y = y;
            IsMine = isMine;
            IsOpened = isOpened;
            IsFlagged = isFlagged;
            NeighborMines = neighborMines;
        }

        public int X { get; }
        public int Y { get; }
        public bool IsMine { get; }
        public bool IsOpened { get; }
        public bool IsFlagged { get; }
        public int NeighborMines { get; }
        public string DisplayValue => IsMine ? "M" : NeighborMines.ToString();
    }
}
