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)); }
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)); }
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)); }