private GameState GetGameState() { var allTiles = Enumerable.Range(0, Height) .SelectMany(row => tiles.GetRow(row)).ToList(); if (allTiles.Where(tile => tile != null).Any(tile => tile.IsMoving)) { return(GameState.TileMoving); } if (allTiles.Any(tile => tile == null)) { return(GameState.HasEmptyTiles); } if (swappedTile != null) { return(GameState.MovedTile); } if (selectedTile != null) { return(GameState.TileSelected); } return(GameState.None); }
public IEnumerable <Tile> GetTilesRow(int index) { return(tiles.GetRow(index)); }