public Mino CreateMino(int x, int y, MinoColorsEnum color) { CheckIfPositionValid(x, y); if (Grid[x, y] != null) { throw new ArgumentException($"Existing cell found at passed coordinates ({x}, {y})."); } var result = new Mino(color); Grid[x, y] = result; OnMinoAdded?.Invoke(new Vector2Int(x, y), result); return(result); }
public void ReplaceMino(int x, int y, Mino mino) { CheckIfPositionValid(x, y); if (mino == null) { DeleteMino(x, y); return; } if (Grid[x, y] != null) { DeleteMino(x, y); } Grid[x, y] = mino; OnMinoAdded?.Invoke(new Vector2Int(x, y), mino); }
public void PlaceMino(int x, int y, Mino mino) { CheckIfPositionValid(x, y); if (mino == null) { return; } if (Grid[x, y] != null) { throw new ArgumentException($"Existing cell found at passed coordinates ({x}, {y})."); } Grid[x, y] = mino; OnMinoAdded?.Invoke(new Vector2Int(x, y), mino); }
public void ReplaceMino(Vector2Int position, Mino mino) { ReplaceMino(position.x, position.y, mino); }
private bool OverlapsWithFallenBlocks(Vector2Int position) { Mino cellAtPosition = grid.GetCell(position); return(cellAtPosition != null && !currentTetramino.Minos.Contains(cellAtPosition)); }