Ejemplo n.º 1
0
    private IEnumerable <TileIndex> GetPawnMoves(GameObject pawn)
    {
        PawnColor pawnColorToCheck       = GetPawnColor(pawn);
        bool      pawnsHaveCapturingMove = moveChecker.PawnsHaveCapturingMove(pawnColorToCheck);
        var       pawnMoves = pawnsHaveCapturingMove
            ? moveChecker.GetPawnCapturingMoves(pawn)
            : moveChecker.GetPawnNoncapturingMoves(pawn);

        return(pawnMoves.OrderBy(element => Random.value));
    }
Ejemplo n.º 2
0
    private bool CanPawnBeSelected(GameObject pawn)
    {
        PawnColor turn = turnHandler.GetTurn();

        if (isPawnMoving || turn != GetPawnColor(pawn) || isMoveMulticapturing ||
            !moveChecker.PawnHasAnyMove(pawn))
        {
            return(false);
        }
        if (moveChecker.PawnsHaveCapturingMove(turn) && !moveChecker.PawnHasCapturingMove(pawn))
        {
            return(false);
        }
        return(true);
    }