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); }
private void RemoveFigure(IBoardCell moveToCell) { var removedFigure = GameMoveTurnManager.GetRemovedFigure(moveToCell); if (removedFigure != null) { FigureController.RemoveFigure(removedFigure); } }