namespace Minesweeper.Core { public readonly struct BoardActionResult { public BoardActionResult(bool changed, bool hitMine, bool won, bool invalid) { Changed = changed; HitMine = hitMine; Won = won; Invalid = invalid; } public bool Changed { get; } public bool HitMine { get; } public bool Won { get; } public bool Invalid { get; } public static BoardActionResult NoChange => new BoardActionResult(false, false, false, false); public static BoardActionResult InvalidAction => new BoardActionResult(false, false, false, true); } }