public void CalculateCell() { if (Horizontal == null || Vertical == null || Square == null) { throw new CellNotCompleteException(); } if (Value.HasValue) { return; } var countPossibilities = Possibilities.Count; PreparePossibilities(); CalculateCell(Horizontal); CalculateCell(Vertical); CalculateCell(Square); if (countPossibilities != 0 && Possibilities.Count != countPossibilities) { if (Matrix.Changed == false) { Matrix.Changed = true; } } if (Possibilities.Count == 1) { Value = Possibilities[0]; Possibilities.Clear(); if (Matrix.Changed == false) { Matrix.Changed = true; } } }
public void PlaceTile() { if (selectedPossibility == null || tile == null) { return; } tilesService.PlaceTile(tile, selectedPossibility); Tiles.Add(new TileViewModel(100 * tile.X + 1000, 1000 - 100 * tile.Y, selectedPossibility.Rotation, tile.ImageUri)); NextTile.ImageSource = null; Possibilities.Clear(); }
public async Task ResetGame() { await tilesService.Reset(); Tiles.Clear(); Possibilities.Clear(); FollowerPossibilities.Clear(); Followers.Clear(); selectedPossibility = null; tile = null; playerIndex = 0; CurrentColour = null; if (NextTile != null) { NextTile.ImageSource = null; } }