public override bool ActivatePostTurnLogic(IFigureEntity figure)
        {
            //сначала проверяем была срублена фигура на прошлом ходу
            var prevRemovedFigure = GameMoveTurnManager.GetRemovedFigure(figure.PlacedCell);

            if (prevRemovedFigure == null)
            {
                return(false);
            }

            //расчитываем возможные ходы по новой
            var moveTurnData = GameMoveTurnManager.CalculateMovesTurn(figure);

            foreach (var data in moveTurnData)
            {
                if (!data.HasRemovedFigure)
                {
                    data.MoveToCell.Status = BoardCellStatus.Empty;
                    continue;
                }

                GameMaster.SetFocusFigure(figure);
                GameMaster.IsBlockFocused = true;
                SwitchTurn(false, false);
                return(true);
            }

            return(false);
        }
Exemple #2
0
        private void RemoveFigure(IBoardCell moveToCell)
        {
            var removedFigure = GameMoveTurnManager.GetRemovedFigure(moveToCell);

            if (removedFigure != null)
            {
                FigureController.RemoveFigure(removedFigure);
            }
        }