internal static void DeleteLocal(ModMetaData mod, bool force = false) { if (force) { LongEventHandler.QueueLongEvent(() => { LongEventHandler.SetCurrentEventText(I18n.RemovingLocal(mod.Name)); if (TryRemoveLocalCopy(mod)) { Messages.Message(I18n.RemoveLocalSucceeded(mod.Name), MessageTypeDefOf.NeutralEvent, false); } else { Messages.Message(I18n.RemoveLocalFailed(mod.Name), MessageTypeDefOf.RejectInput, false); } // remove this version either way, as it's likely to be borked. ModButton_Installed.For(mod).Notify_VersionRemoved(mod); }, null, true, null); return; } Find.WindowStack.Add(Dialog_MessageBox.CreateConfirmation( I18n.ConfirmRemoveLocal(mod.Name), () => DeleteLocal(mod, true), true)); }
internal static void DeleteLocal(ModMetaData mod) { Find.WindowStack.Add(Dialog_MessageBox.CreateConfirmation( I18n.ConfirmRemoveLocal(mod.Name), delegate { if (TryRemoveLocalCopy(mod)) { Messages.Message(I18n.RemoveLocalSucceeded(mod.Name), MessageTypeDefOf.NeutralEvent, false); } else { Messages.Message(I18n.RemoveLocalFailed(mod.Name), MessageTypeDefOf.RejectInput, false); } // remove this version either way, as it's likely to be borked. ModButton_Installed.For(mod).Notify_VersionRemoved(mod); }, true)); }