public override void Arrive(List <Pawn> pawns, IncidentParms parms) { Map map = (Map)parms.target; List <Pair <List <Pawn>, IntVec3> > list = PawnsArrivalModeWorkerUtility.SplitIntoRandomGroupsNearMapEdge(pawns, map, arriveInPods: true); PawnsArrivalModeWorkerUtility.SetPawnGroupsInfo(parms, list); for (int i = 0; i < list.Count; i++) { DropPodUtility.DropThingsNear(list[i].Second, map, list[i].First.Cast <Thing>(), parms.podOpenDelay, canInstaDropDuringInit: false, leaveSlag: true); } }
public override void Arrive(List <Pawn> pawns, IncidentParms parms) { Map map = (Map)parms.target; List <Pair <List <Pawn>, IntVec3> > list = PawnsArrivalModeWorkerUtility.SplitIntoRandomGroupsNearMapEdge(pawns, map, false); PawnsArrivalModeWorkerUtility.SetPawnGroupsInfo(parms, list); for (int i = 0; i < list.Count; i++) { for (int j = 0; j < list[i].First.Count; j++) { IntVec3 loc = CellFinder.RandomClosewalkCellNear(list[i].Second, map, 8, null); GenSpawn.Spawn(list[i].First[j], loc, map, parms.spawnRotation, WipeMode.Vanish, false); } } }