public static Lord FindLord(int transportersGroup, Map map)
        {
            List <Lord> lords = map.lordManager.lords;

            for (int i = 0; i < lords.Count; i++)
            {
                LordJob_LoadAndEnterTransporters lordJob_LoadAndEnterTransporters = lords[i].LordJob as LordJob_LoadAndEnterTransporters;
                if (lordJob_LoadAndEnterTransporters != null && lordJob_LoadAndEnterTransporters.transportersGroup == transportersGroup)
                {
                    return(lords[i]);
                }
            }
            return(null);
        }
        public static void MakeLordsAsAppropriate(List <Pawn> pawns, List <CompTransporter> transporters, Map map)
        {
            int  groupID = transporters[0].groupID;
            Lord lord    = null;
            IEnumerable <Pawn> enumerable = pawns.Where((Pawn x) => x.IsColonist && !x.Downed && x.Spawned);

            if (enumerable.Any())
            {
                lord = map.lordManager.lords.Find((Lord x) => x.LordJob is LordJob_LoadAndEnterTransporters && ((LordJob_LoadAndEnterTransporters)x.LordJob).transportersGroup == groupID);
                if (lord == null)
                {
                    lord = LordMaker.MakeNewLord(Faction.OfPlayer, new LordJob_LoadAndEnterTransporters(groupID), map);
                }
                foreach (Pawn item in enumerable)
                {
                    if (!lord.ownedPawns.Contains(item))
                    {
                        item.GetLord()?.Notify_PawnLost(item, PawnLostCondition.ForcedToJoinOtherLord);
                        lord.AddPawn(item);
                        item.jobs.EndCurrentJob(JobCondition.InterruptForced);
                    }
                }
                for (int num = lord.ownedPawns.Count - 1; num >= 0; num--)
                {
                    if (!enumerable.Contains(lord.ownedPawns[num]))
                    {
                        lord.Notify_PawnLost(lord.ownedPawns[num], PawnLostCondition.NoLongerEnteringTransportPods);
                    }
                }
            }
            for (int num2 = map.lordManager.lords.Count - 1; num2 >= 0; num2--)
            {
                LordJob_LoadAndEnterTransporters lordJob_LoadAndEnterTransporters = map.lordManager.lords[num2].LordJob as LordJob_LoadAndEnterTransporters;
                if (lordJob_LoadAndEnterTransporters != null && lordJob_LoadAndEnterTransporters.transportersGroup == groupID && map.lordManager.lords[num2] != lord)
                {
                    map.lordManager.RemoveLord(map.lordManager.lords[num2]);
                }
            }
        }