private void DoItemsLists(Rect inRect, ref float curY)
        {
            LordJob_FormAndSendCaravan lordJob_FormAndSendCaravan = (LordJob_FormAndSendCaravan)base.SelPawn.GetLord().LordJob;
            Rect  position = new Rect(0f, curY, (inRect.width - 10f) / 2f, inRect.height);
            float a        = 0f;

            GUI.BeginGroup(position);
            Widgets.ListSeparator(ref a, position.width, "ItemsToLoad".Translate());
            bool flag = false;

            for (int i = 0; i < lordJob_FormAndSendCaravan.transferables.Count; i++)
            {
                TransferableOneWay transferableOneWay = lordJob_FormAndSendCaravan.transferables[i];
                if (transferableOneWay.CountToTransfer > 0 && transferableOneWay.HasAnyThing)
                {
                    flag = true;
                    this.DoThingRow(transferableOneWay.ThingDef, transferableOneWay.CountToTransfer, transferableOneWay.things, position.width, ref a);
                }
            }
            if (!flag)
            {
                Widgets.NoneLabel(ref a, position.width, null);
            }
            GUI.EndGroup();
            Rect  position2 = new Rect((inRect.width + 10f) / 2f, curY, (inRect.width - 10f) / 2f, inRect.height);
            float b         = 0f;

            GUI.BeginGroup(position2);
            Widgets.ListSeparator(ref b, position2.width, "LoadedItems".Translate());
            bool flag2 = false;

            for (int j = 0; j < lordJob_FormAndSendCaravan.lord.ownedPawns.Count; j++)
            {
                Pawn pawn = lordJob_FormAndSendCaravan.lord.ownedPawns[j];
                if (!pawn.inventory.UnloadEverything)
                {
                    for (int k = 0; k < pawn.inventory.innerContainer.Count; k++)
                    {
                        Thing thing = pawn.inventory.innerContainer[k];
                        flag2 = true;
                        ITab_Pawn_FormingCaravan.tmpSingleThing.Clear();
                        ITab_Pawn_FormingCaravan.tmpSingleThing.Add(thing);
                        this.DoThingRow(thing.def, thing.stackCount, ITab_Pawn_FormingCaravan.tmpSingleThing, position2.width, ref b);
                        ITab_Pawn_FormingCaravan.tmpSingleThing.Clear();
                    }
                }
            }
            if (!flag2)
            {
                Widgets.NoneLabel(ref b, position.width, null);
            }
            GUI.EndGroup();
            curY += Mathf.Max(a, b);
        }
        public override Job NonScanJob(Pawn pawn)
        {
            List <Lord> lords = pawn.Map.lordManager.lords;

            for (int i = 0; i < lords.Count; i++)
            {
                LordJob_FormAndSendCaravan lordJob_FormAndSendCaravan = lords[i].LordJob as LordJob_FormAndSendCaravan;
                if (lordJob_FormAndSendCaravan != null && lordJob_FormAndSendCaravan.GatheringItemsNow)
                {
                    Thing thing = GatherItemsForCaravanUtility.FindThingToHaul(pawn, lords[i]);
                    if (thing != null && this.AnyReachableCarrierOrColonist(pawn, lords[i]))
                    {
                        Job job = new Job(JobDefOf.PrepareCaravan_GatherItems, thing);
                        job.lord = lords[i];
                        return(job);
                    }
                }
            }
            return(null);
        }