private static Job GetVehicle(Pawn pawn, Job job, WorkTypeDef worktag) { if (!ToolsForHaulUtility.IsDriver(pawn)) { if (ToolsForHaulUtility.Cart.Count > 0 || ToolsForHaulUtility.CartTurret.Count > 0) { Thing vehicle = RightTools.GetRightVehicle(pawn, worktag); if (vehicle != null) { job = new Job(HaulJobDefOf.Mount) { targetA = vehicle, }; } } } else { if (!ToolsForHaulUtility.IsDriverOfThisVehicle(pawn, RightTools.GetRightVehicle(pawn, worktag))) { job = ToolsForHaulUtility.DismountInBase(pawn, MapComponent_ToolsForHaul.currentVehicle[pawn]); } } return(job); }