public bool IsInCheck(Square[][] board)
{
if (Alive && CurrentColumn.HasValue && CurrentRow.HasValue)
{
var square = board[CurrentRow.Value][CurrentColumn.Value];
var team = GetOppositeTeam();
if (square.TargetedByTeam(board, team))
return true;
}
return false;
}