/// <summary> /// Get all pawns from Caravan inside vehicles /// </summary> /// <param name="caravan"></param> public static List <Pawn> GrabPawnsFromVehicleCaravanSilentFail(this Caravan caravan) { if (caravan is null || !caravan.HasVehicle()) { return(null); } List <Pawn> vehicles = new List <Pawn>(); foreach (Pawn p in caravan.PawnsListForReading) { if (p is VehiclePawn vehicle) { vehicles.AddRange(vehicle.AllPawnsAboard); } else { vehicles.Add(p); } } return(vehicles); }