public static void ForceShow() { Find.WindowStack.Add(new NewsDialog()); PrisonLaborPrefs.LastVersion = PrisonLaborPrefs.Version; PrisonLaborPrefs.Save(); autoShow = false; }
static Initialization() { HPatcher.Init(); ClassInjector.Init(); PrisonLaborPrefs.Init(); SettingsMenu.Init(); VersionUtility.CheckVersion(); Designator_AreaLabor.Initialization(); Behaviour_MotivationIcon.Initialization(); CompatibilityPatches.Initialization.Run(); HediffManager.Init(); }
public override void WriteSettings() { PrisonLaborPrefs.ShowNews = showNews; PrisonLaborPrefs.AllowAllWorkTypes = allowAllWorktypes; if (!disableMod) { PrisonLaborPrefs.EnableMotivationMechanics = enableMotivationMechanics; } PrisonLaborPrefs.EnableMotivationIcons = enableMotivationIcons; PrisonLaborPrefs.AdvancedGrowing = advancedGrowing; PrisonLaborPrefs.DisableMod = disableMod; PrisonLaborPrefs.DefaultInteractionMode = interactionModeList[defaultInteractionMode].defName; PrisonLaborPrefs.Save(); Log.Message("Prison Labor settings saved"); }
static Initialization() { try { PrisonLaborPrefs.Init(); HPatcher.Init(); SettingsMenu.Init(); VersionUtility.CheckVersion(); CompatibilityPatches.Initialization.Run(); HediffManager.Init(); Log.Message($"Enabled Prison Labor v{VersionUtility.versionString}"); } catch (Exception e) { Log.Error($"Prison Labor v{VersionUtility.versionString} caught error during start up:\n{e}"); } }
public static void UpdateTutorialFlags() { if (PlayerKnowledgeDatabase.IsComplete(introductionDef)) { PrisonLaborPrefs.AddTutorialFlag(TutorialFlag.Introduction); } if (!PlayerKnowledgeDatabase.IsComplete(motivationDef)) { PrisonLaborPrefs.AddTutorialFlag(TutorialFlag.Motivation); } if (!PlayerKnowledgeDatabase.IsComplete(managementDef)) { PrisonLaborPrefs.AddTutorialFlag(TutorialFlag.Managment); } if (!PlayerKnowledgeDatabase.IsComplete(timetableDef)) { PrisonLaborPrefs.AddTutorialFlag(TutorialFlag.Timetable); } if (!PlayerKnowledgeDatabase.IsComplete(growingDef)) { PrisonLaborPrefs.AddTutorialFlag(TutorialFlag.Growing); } }
public static void Apply() { if (PrisonLaborPrefs.HasTutorialFlag(TutorialFlag.Introduction)) { PlayerKnowledgeDatabase.SetKnowledge(introductionDef, 1.0f); } if (PrisonLaborPrefs.HasTutorialFlag(TutorialFlag.Motivation)) { PlayerKnowledgeDatabase.SetKnowledge(motivationDef, 1.0f); } if (PrisonLaborPrefs.HasTutorialFlag(TutorialFlag.Growing)) { PlayerKnowledgeDatabase.SetKnowledge(growingDef, 1.0f); } if (PrisonLaborPrefs.HasTutorialFlag(TutorialFlag.Managment)) { PlayerKnowledgeDatabase.SetKnowledge(managementDef, 1.0f); } if (PrisonLaborPrefs.HasTutorialFlag(TutorialFlag.Timetable)) { PlayerKnowledgeDatabase.SetKnowledge(timetableDef, 1.0f); } }
public static void CheckVersion() { // Update actual version if (PrisonLaborPrefs.Version == Version.v0_0) { PrisonLaborPrefs.Version = versionNumber; PrisonLaborPrefs.LastVersion = versionNumber; } else if (PrisonLaborPrefs.Version != versionNumber) { PrisonLaborPrefs.Version = versionNumber; } // Check for news if (PrisonLaborPrefs.LastVersion < Version.v0_5) { NewsDialog.news_0_5 = true; NewsDialog.autoShow = true; } if (PrisonLaborPrefs.LastVersion < Version.v0_6) { NewsDialog.news_0_6 = true; NewsDialog.autoShow = true; } if (PrisonLaborPrefs.LastVersion < Version.v0_7) { NewsDialog.news_0_7 = true; NewsDialog.autoShow = true; } if (PrisonLaborPrefs.LastVersion < Version.v0_8_0) { NewsDialog.news_0_8_0 = true; NewsDialog.autoShow = true; } if (PrisonLaborPrefs.LastVersion < Version.v0_8_1) { NewsDialog.news_0_8_1 = true; NewsDialog.autoShow = true; } if (PrisonLaborPrefs.LastVersion < Version.v0_8_3) { NewsDialog.news_0_8_3 = true; NewsDialog.autoShow = true; } if (PrisonLaborPrefs.LastVersion < Version.v0_8_6) { NewsDialog.news_0_8_6 = true; NewsDialog.autoShow = true; } if (PrisonLaborPrefs.LastVersion < Version.v0_9_0) { NewsDialog.news_0_9_0 = true; NewsDialog.autoShow = true; } if (PrisonLaborPrefs.LastVersion < Version.v0_9_1) { NewsDialog.news_0_9_1 = true; NewsDialog.autoShow = true; } if (PrisonLaborPrefs.LastVersion < Version.v0_9_2) { NewsDialog.news_0_9_2 = true; NewsDialog.autoShow = true; } if (PrisonLaborPrefs.LastVersion < Version.v0_9_4) { CompatibilityPatches.OlderVersions.Pre_v0_9_4(); } Log.Message($"Enabled Prison Labor v{versionString}"); PrisonLaborPrefs.Version = versionNumber; PrisonLaborPrefs.Save(); }
public override void DoSettingsWindowContents(Rect inRect) { var leftRect = new Rect(inRect.x, inRect.y, inRect.width * 0.65f, inRect.height); var rightRect = new Rect(inRect.x + inRect.width * 0.65f + 30f, inRect.y, inRect.width * 0.35f - 30f, inRect.height); var listing_options = new Listing_Standard(); listing_options.Begin(leftRect); listing_options.CheckboxLabeled("PrisonLabor_ShowNews".Translate(), ref showNews, "PrisonLabor_ShowNewsDesc".Translate()); listing_options.GapLine(); if (listing_options.ButtonTextLabeled("PrisonLabor_DefaultInterMode".Translate(), interactionModeList[defaultInteractionMode].LabelCap)) { defaultInteractionMode = defaultInteractionMode < interactionModeList.Count - 1 ? defaultInteractionMode + 1 : 0; } listing_options.GapLine(); if (!disableMod) { listing_options.Label("PrisonLabor_AllowedWorkTypes".Translate(), -1f); listing_options.CheckboxLabeled(" " + "PrisonLabor_AllowAll".Translate(), ref allowAllWorktypes, "PrisonLabor_AllowAllWorkTypes".Translate()); if (!allowAllWorktypes) { if (listing_options.ButtonTextLabeled(" " + "PrisonLabor_AllowedWorkTypesL".Translate(), "PrisonLabor_Browse".Translate())) { Find.WindowStack.Add(new SelectWorkTypesDialog()); } } else { listing_options.Gap(); } listing_options.GapLine(); listing_options.CheckboxLabeled("PrisonLabor_MotivationMechanics".Translate(), ref enableMotivationMechanics, "PrisonLabor_MotivationWarning".Translate()); listing_options.GapLine(); listing_options.CheckboxLabeled("PrisonLabor_MotivationIcons".Translate(), ref enableMotivationIcons, "PrisonLabor_MotivationIconsDesc".Translate()); listing_options.GapLine(); listing_options.CheckboxLabeled("PrisonLabor_CanGrowAdvanced".Translate(), ref advancedGrowing, "PrisonLabor_CanGrowAdvancedDesc".Translate()); listing_options.GapLine(); listing_options.CheckboxLabeled("PrisonLabor_EnableRevolts".Translate(), ref enableRevolts, "PrisonLabor_EnableRevoltsDesc".Translate()); } else { listing_options.Gap(); listing_options.Gap(); listing_options.Label("PrisonLabor_RestartInfo".Translate(), -1f); listing_options.Label("PrisonLabor_RestartInfo2".Translate(), -1f); listing_options.Gap(); listing_options.Gap(); listing_options.Gap(); } listing_options.Gap(); listing_options.Gap(); listing_options.Gap(); listing_options.CheckboxLabeled("PrisonLabor_DisableMod".Translate(), ref disableMod, "PrisonLabor_DisableModDesc".Translate()); listing_options.End(); var listing_panel = new Listing_Standard(); listing_panel.Begin(rightRect); var heigh_temp = rightRect.width * 0.56f; GUI.DrawTexture(new Rect(0, 0, rightRect.width, heigh_temp), ContentFinder <Texture2D> .Get("Preview", true)); listing_panel.Gap(heigh_temp); listing_panel.Label("Prison Labor", -1f); listing_panel.Label("PrisonLabor_Version".Translate() + VersionUtility.versionString, -1f); listing_panel.GapLine(); listing_panel.Label("PrisonLabor_Difficulty".Translate() + difficulty, -1f); listing_panel.GapLine(); if (listing_panel.ButtonText("PrisonLabor_Defaults".Translate())) { PrisonLaborPrefs.RestoreToDefault(); Init(); } if (listing_panel.ButtonText("PrisonLabor_ShowNews".Translate())) { NewsDialog.showAll = true; NewsDialog.ForceShow(); } listing_panel.End(); Apply(); }
private static void Apply() { PrisonLaborPrefs.Apply(); CalculateDifficulty(); }