public static IEnumerable <Thing> AllSendableItems_NewTmp(List <CompTransporter> transporters, Map map, bool autoLoot) { List <Thing> items = CaravanFormingUtility.AllReachableColonyItems(map, canMinify: autoLoot, allowEvenIfOutsideHomeArea: autoLoot, allowEvenIfReserved: transporters[0].Props.canChangeAssignedThingsAfterStarting && transporters[0].LoadingInProgressOrReadyToLaunch); CompShuttle shuttle = transporters[0].parent.TryGetComp <CompShuttle>(); for (int i = 0; i < items.Count; i++) { if (shuttle == null || shuttle.IsRequired(items[i]) || shuttle.IsAllowed(items[i])) { yield return(items[i]); } } }
public static IEnumerable <Pawn> AllSendablePawns(List <CompTransporter> transporters, Map map) { CompShuttle shuttle = transporters[0].parent.TryGetComp <CompShuttle>(); int allowLoadAndEnterTransportersLordForGroupID = (transporters[0].Props.canChangeAssignedThingsAfterStarting && transporters[0].LoadingInProgressOrReadyToLaunch) ? transporters[0].groupID : (-1); List <Pawn> pawns = CaravanFormingUtility.AllSendablePawns(map, allowEvenIfDowned: true, allowEvenIfInMentalState: false, allowEvenIfPrisonerNotSecure: false, allowCapturableDownedPawns: false, shuttle != null, allowLoadAndEnterTransportersLordForGroupID); for (int i = 0; i < pawns.Count; i++) { if (shuttle == null || shuttle.IsRequired(pawns[i]) || shuttle.IsAllowed(pawns[i])) { yield return(pawns[i]); } } }
public static IEnumerable <Pawn> AllSendablePawns_NewTmp(List <CompTransporter> transporters, Map map, bool autoLoot) { CompShuttle shuttle = transporters[0].parent.TryGetComp <CompShuttle>(); int allowLoadAndEnterTransportersLordForGroupID = ((transporters[0].Props.canChangeAssignedThingsAfterStarting && transporters[0].LoadingInProgressOrReadyToLaunch) ? transporters[0].groupID : (-1)); bool allowLodgers = shuttle != null; List <Pawn> pawns = CaravanFormingUtility.AllSendablePawns(map, allowEvenIfDowned: true, autoLoot, autoLoot, autoLoot, allowLodgers, allowLoadAndEnterTransportersLordForGroupID); for (int i = 0; i < pawns.Count; i++) { if (shuttle == null || shuttle.IsRequired(pawns[i]) || shuttle.IsAllowed(pawns[i])) { yield return(pawns[i]); } } }