[Add] Menu with configs and size fix

This commit is contained in:
2026-06-06 23:48:55 +07:00
parent 7104089c00
commit a9767c5301
29 changed files with 453 additions and 153 deletions
@@ -5,11 +5,11 @@ namespace Minesweeper.Config
[CreateAssetMenu(fileName = "MinesweeperGameConfig", menuName = "Minesweeper/Game Config")]
public sealed class MinesweeperGameConfig : ScriptableObject
{
[field: SerializeField, Min(1)] public int Width { get; private set; } = 9;
[field: SerializeField, Min(1)] public int Height { get; private set; } = 9;
[field: SerializeField, Min(1)] public int MinesCount { get; private set; } = 10;
[field: SerializeField] public KeyCode RestartKey { get; private set; } = KeyCode.R;
[field: SerializeField, Min(1)] public int MinSizeX { get; private set; } = 2;
[field: SerializeField, Min(1)] public int MaxSizeX { get; private set; } = 50;
[field: SerializeField, Min(1)] public int MinSizeY { get; private set; } = 2;
[field: SerializeField, Min(1)] public int MaxSizeY { get; private set; } = 50;
public bool IsValid => Width > 0 && Height > 0 && MinesCount > 0 && MinesCount < Width * Height;
public bool IsValid => MinSizeX > 0 && MinSizeY > 0 && MaxSizeX >= MinSizeX && MaxSizeY >= MinSizeY && MaxSizeX * MaxSizeY > 1;
}
}