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); } if (PrisonLaborPrefs.HasTutorialFlag(TutorialFlag.Treatment)) { PlayerKnowledgeDatabase.SetKnowledge(treatmentDef, 1.0f); } }
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); } if (PlayerKnowledgeDatabase.IsComplete(treatmentDef)) { PrisonLaborPrefs.AddTutorialFlag(TutorialFlag.Treatment); } }
public static void ForceShow() { Find.WindowStack.Add(new NewsWindow()); PrisonLaborPrefs.LastVersion = PrisonLaborPrefs.Version; PrisonLaborPrefs.Save(); AutoShow = false; }
public static void Introduction() { //TryActivateTutorial(introductionDef, OpportunityType.Important); if (!PrisonLaborPrefs.HasTutorialFlag(TutorialFlag.Introduction)) { TutorialWindow.Show("Introduction"); PrisonLaborPrefs.AddTutorialFlag(TutorialFlag.Introduction); PrisonLaborPrefs.Save(); } }
public static void LaborAreaWarning() { if (!PrisonLaborPrefs.HasTutorialFlag(TutorialFlag.LaborAreaWarning)) { Find.WindowStack.Add( new Dialog_MessageBox( "PrisonLabor_LaborAreaWarning".Translate(), "PrisonLabor_DontShowAgain".Translate(), () => { PrisonLaborPrefs.AddTutorialFlag(TutorialFlag.LaborAreaWarning); PrisonLaborPrefs.Save(); } )); } }
public override void WriteSettings() { PrisonLaborPrefs.ShowNews = showNews; PrisonLaborPrefs.AllowAllWorkTypes = allowAllWorktypes; PrisonLaborPrefs.EnableMotivationMechanics = enableMotivationMechanics; PrisonLaborPrefs.EnableMotivationIcons = enableMotivationIcons; PrisonLaborPrefs.EnableRevolts = enableRevolts; PrisonLaborPrefs.ShowTreatmentHappiness = showTreatmentHappiness; PrisonLaborPrefs.AdvancedGrowing = advancedGrowing; PrisonLaborPrefs.DefaultInteractionMode = interactionModeList[defaultInteractionMode].defName; PrisonLaborPrefs.Save(); Log.Message("Prison Labor settings saved"); }
internal static void Pre_v0_9_4() { if (WorkSettings.AllowedWorkTypes.Contains(WorkTypeDefOf.Warden)) { WorkSettings.AllowedWorkTypes.Remove(WorkTypeDefOf.Warden); } if (WorkSettings.AllowedWorkTypes.Contains(PL_DefOf.PrisonLabor_Jailor)) { WorkSettings.AllowedWorkTypes.Remove(PL_DefOf.PrisonLabor_Jailor); } WorkSettings.Apply(); 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((int)(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(); 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()); listing_options.GapLine(); listing_options.CheckboxLabeled("PrisonLabor_EnableSuicide".Translate(), ref enableSuicide, "PrisonLabor_EnableSuicideDesc".Translate()); listing_options.CheckboxLabeled("PrisonLabor_EnableFullHealRest".Translate(), ref enableFullHealRest, "PrisonLabor_EnableFullHealRestDesc".Translate()); listing_options.GapLine(); listing_options.CheckboxLabeled("PrisonLabor_ShowTreatmentHappiness".Translate(), ref showTreatmentHappiness, "PrisonLabor_ShowTreatmentHappinessDesc".Translate()); listing_options.Gap(); listing_options.Gap(); listing_options.Gap(); if (listing_options.ButtonTextLabeled("PrisonLabor_ButtonRemoveModFromSaveDesc".Translate(), "PrisonLabor_ButtonRemoveModFromSave".Translate())) { Find.WindowStack.Add(new SelectSaveForCleaningDialog()); } 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())) { NewsWindow.ShowAll = true; NewsWindow.ForceShow(); } if (listing_panel.ButtonText("PrisonLabor_ReplayTurorialsButton".Translate())) { ReplayTutorialsWindow.Show(); } listing_panel.End(); Apply(); }
private static void Apply() { PrisonLaborPrefs.Apply(); CalculateDifficulty(); }