コード例 #1
0
        private static void MergeCaravans(List <Caravan> caravans)
        {
            Caravan caravan = caravans.MaxBy((Caravan x) => x.PawnsListForReading.Count);

            for (int i = 0; i < caravans.Count; i++)
            {
                Caravan caravan2 = caravans[i];
                if (caravan2 != caravan)
                {
                    caravan2.pawns.TryTransferAllToContainer(caravan.pawns);
                    caravan2.Destroy();
                }
            }
            caravan.Notify_Merged(caravans);
        }
コード例 #2
0
        private static void MergeCaravans(List <Caravan> caravans)
        {
            Caravan caravan = caravans.MaxBy((Caravan x) => x.PawnsListForReading.Count);

            for (int i = 0; i < caravans.Count; i++)
            {
                Caravan caravan2 = caravans[i];
                if (caravan2 != caravan)
                {
                    caravan2.pawns.TryTransferAllToContainer(caravan.pawns, true);
                    Find.WorldObjects.Remove(caravan2);
                }
            }
            caravan.Notify_Merged(caravans);
        }