Exemple #1
0
 public override void GenerateIntoMap(Map map)
 {
     if (Find.GameInitData != null)
     {
         List <List <Thing> > list = new List <List <Thing> >();
         foreach (Pawn startingAndOptionalPawn in Find.GameInitData.startingAndOptionalPawns)
         {
             List <Thing> list2 = new List <Thing>();
             list2.Add(startingAndOptionalPawn);
             list.Add(list2);
         }
         List <Thing> list3 = new List <Thing>();
         foreach (ScenPart allPart in Find.Scenario.AllParts)
         {
             list3.AddRange(allPart.PlayerStartingThings());
         }
         int num = 0;
         foreach (Thing item in list3)
         {
             if (item.def.CanHaveFaction)
             {
                 item.SetFactionDirect(Faction.OfPlayer);
             }
             list[num].Add(item);
             num++;
             if (num >= list.Count)
             {
                 num = 0;
             }
         }
         DropPodUtility.DropThingGroupsNear_NewTmp(MapGenerator.PlayerStartSpot, map, list, 110, Find.GameInitData.QuickStarted || method != PlayerPawnsArriveMethod.DropPods, leaveSlag: true, canRoofPunch: true, forbid: true, allowFogged: false);
     }
 }