Ejemplo n.º 1
0
        private void InstantiateTile(Point tilePosition)
        {
            SelectableTile tile = Instantiate(_selectableTilePrefab, transform);

            tile.InitializeFields(tilePosition);
            tile.IsMultijumpRoot = tilePosition.Node;
            tile.TileSelected   += OnSelectableTileSelected;
            _tiles.Add(tile);
        }
Ejemplo n.º 2
0
        private void OnSelectableTileSelected(SelectableTile selectedTile)
        {
            if (selectedTile.IsMultijumpRoot)
            {
                // Смещение одной из фишек
                _currentFigurePosition = selectedTile.PointPosition;
                OneOfNewPositionsSelected?.Invoke(selectedTile.PointPosition);
                RemoveSelectableTilesFromBoard();

                // Проверка на возможность перепрыгнуть соседние фишки
                // возвращает false если нет ходов, соответственно завершая ход игроком
                if (CheckingPossibleMoves(_currentFigurePosition, out Point[] available))