private void InstantiateTile(Point tilePosition) { SelectableTile tile = Instantiate(_selectableTilePrefab, transform); tile.InitializeFields(tilePosition); tile.IsMultijumpRoot = tilePosition.Node; tile.TileSelected += OnSelectableTileSelected; _tiles.Add(tile); }
private void OnSelectableTileSelected(SelectableTile selectedTile) { if (selectedTile.IsMultijumpRoot) { // Смещение одной из фишек _currentFigurePosition = selectedTile.PointPosition; OneOfNewPositionsSelected?.Invoke(selectedTile.PointPosition); RemoveSelectableTilesFromBoard(); // Проверка на возможность перепрыгнуть соседние фишки // возвращает false если нет ходов, соответственно завершая ход игроком if (CheckingPossibleMoves(_currentFigurePosition, out Point[] available))