public static void TryAbandonOrBanishViaInterface(TransferableImmutable t, Caravan caravan)
        {
            Pawn pawn = t.AnyThing as Pawn;

            if (pawn != null)
            {
                CaravanAbandonOrBanishUtility.TryAbandonOrBanishViaInterface(pawn, caravan);
            }
            else
            {
                Dialog_MessageBox window = Dialog_MessageBox.CreateConfirmation("ConfirmAbandonItemDialog".Translate(new object[]
                {
                    t.LabelWithTotalStackCount
                }), delegate
                {
                    for (int i = 0; i < t.things.Count; i++)
                    {
                        Thing thing  = t.things[i];
                        Pawn ownerOf = CaravanInventoryUtility.GetOwnerOf(caravan, thing);
                        if (ownerOf == null)
                        {
                            Log.Error("Could not find owner of " + thing, false);
                            return;
                        }
                        ownerOf.inventory.innerContainer.Remove(thing);
                        thing.Destroy(DestroyMode.Vanish);
                    }
                    caravan.RecacheImmobilizedNow();
                    caravan.RecacheDaysWorthOfFood();
                }, true, null);
                Find.WindowStack.Add(window);
            }
        }
        public static void DoAbandonSpecificCountButton(Rect rowRect, TransferableImmutable t, Caravan caravan)
        {
            Rect rect = new Rect(rowRect.width - 24f, (rowRect.height - 24f) / 2f, 24f, 24f);

            if (Widgets.ButtonImage(rect, CaravanThingsTabUtility.AbandonSpecificCountButtonTex))
            {
                CaravanAbandonOrBanishUtility.TryAbandonSpecificCountViaInterface(t, caravan);
            }
            TooltipHandler.TipRegion(rect, () => CaravanAbandonOrBanishUtility.GetAbandonOrBanishButtonTooltip(t, true), Gen.HashCombineInt(t.GetHashCode(), 1163428609));
        }
        public static void DoAbandonButton(Rect rowRect, Thing t, Caravan caravan)
        {
            Rect rect = new Rect(rowRect.width - 24f, (rowRect.height - 24f) / 2f, 24f, 24f);

            if (Widgets.ButtonImage(rect, CaravanThingsTabUtility.AbandonButtonTex))
            {
                CaravanAbandonOrBanishUtility.TryAbandonOrBanishViaInterface(t, caravan);
            }
            TooltipHandler.TipRegion(rect, () => CaravanAbandonOrBanishUtility.GetAbandonOrBanishButtonTooltip(t, false), Gen.HashCombineInt(t.GetHashCode(), 1383004931));
        }
Ejemplo n.º 4
0
        private static void DoAbandonSpecificCountButton(Rect rowRect, Thing t, Caravan caravan)
        {
            Rect rect = new Rect((float)(rowRect.width - 24.0), (float)((rowRect.height - 24.0) / 2.0), 24f, 24f);

            if (Widgets.ButtonImage(rect, CaravanPeopleAndItemsTabUtility.AbandonSpecificCountButtonTex))
            {
                CaravanAbandonOrBanishUtility.TryAbandonSpecificCountViaInterface(t, caravan);
            }
            TooltipHandler.TipRegion(rect, () => CaravanAbandonOrBanishUtility.GetAbandonOrBanishButtonTooltip(t, caravan, true), Gen.HashCombineInt(t.GetHashCode(), 1163428609));
        }
        public static string GetAbandonOrBanishButtonTooltip(TransferableImmutable t, bool abandonSpecificCount)
        {
            Pawn pawn = t.AnyThing as Pawn;

            if (pawn != null)
            {
                return(PawnBanishUtility.GetBanishButtonTip(pawn));
            }
            return(CaravanAbandonOrBanishUtility.GetAbandonItemButtonTooltip(t.TotalStackCount, abandonSpecificCount));
        }
        public static string GetAbandonOrBanishButtonTooltip(Thing t, bool abandonSpecificCount)
        {
            Pawn pawn = t as Pawn;

            if (pawn != null)
            {
                return(PawnBanishUtility.GetBanishButtonTip(pawn));
            }
            return(CaravanAbandonOrBanishUtility.GetAbandonItemButtonTooltip(t.stackCount, abandonSpecificCount));
        }
Ejemplo n.º 7
0
        public static void DoAbandonButton(Rect rowRect, TransferableImmutable t, Caravan caravan)
        {
            Rect rect = new Rect(rowRect.width - 24f, (rowRect.height - 24f) / 2f, 24f, 24f);

            if (Widgets.ButtonImage(rect, AbandonButtonTex))
            {
                CaravanAbandonOrBanishUtility.TryAbandonOrBanishViaInterface(t, caravan);
            }
            if (Mouse.IsOver(rect))
            {
                TooltipHandler.TipRegion(rect, () => CaravanAbandonOrBanishUtility.GetAbandonOrBanishButtonTooltip(t, abandonSpecificCount: false), Gen.HashCombineInt(t.GetHashCode(), 8476546));
            }
        }
 internal string <> m__0()
 {
     return(CaravanAbandonOrBanishUtility.GetAbandonOrBanishButtonTooltip(this.t, false));
 }