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)); }
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); }