public override void DoSettingsWindowContents(Rect inRect)
        {
            var listing_Standard = new Listing_Standard();

            listing_Standard.Begin(inRect);
            //listing_Standard.AddLabeledCheckbox("CCPP_ColdNightHotDays".Translate(), ref settings.showWeather);
            //listing_Standard.AddHorizontalLine(3f);
            listing_Standard.AddLabeledRadioList($"{"CCPP_CycleTypeChoice".Translate()}:", cycleTypes,
                                                 ref settings.cycleType);
            listing_Standard.GapLine(3f);
            listing_Standard.AddLabeledNumericalTextField("CCPP_Multiplier".Translate(), ref settings.cycleMultiplier,
                                                          minValue: 1f, maxValue: 20f);
            listing_Standard.AddLabeledNumericalTextField("CCPP_Periods".Translate(), ref settings.cyclePeriods,
                                                          minValue: 1f, maxValue: 8f);
            if (currentVersion != null)
            {
                listing_Standard.Gap();
                GUI.contentColor = Color.gray;
                listing_Standard.Label("CurrentModVersion_Label".Translate(currentVersion));
                GUI.contentColor = Color.white;
            }

            listing_Standard.End();
            settings.Write();
        }
Example #2
0
        public static void DoWindowContents(Rect rect, Listing_Standard optionsListing)
        {
            optionsListing.AddLabeledNumericalTextField("TwitchToolkitStartingBalance".Translate(), ref ToolkitSettings.StartingBalance, 0.8f);
            optionsListing.SliderLabeled("TwitchToolkitCoinInterval".Translate(), ref ToolkitSettings.CoinInterval, Math.Round((float)ToolkitSettings.CoinInterval).ToString(), 1f, 15f);
            optionsListing.SliderLabeled("TwitchToolkitCoinAmount".Translate(), ref ToolkitSettings.CoinAmount, Math.Round((float)ToolkitSettings.CoinAmount).ToString(), 0f, 100f);
            optionsListing.AddLabeledNumericalTextField("TwitchToolkitMinimumPurchasePrice".Translate(), ref ToolkitSettings.MinimumPurchasePrice, 0.8f);

            optionsListing.CheckboxLabeled("TwitchToolkitUnlimitedCoins".Translate(), ref ToolkitSettings.UnlimitedCoins);
            optionsListing.CheckboxLabeled("TwitchToolkitGiftingCoins".Translate(), ref ToolkitSettings.GiftingCoins);
        }
        public override void DoSettingsWindowContents(Rect inRect)
        {
            Listing_Standard listing_Standard = new Listing_Standard();

            listing_Standard.Begin(inRect);
            //listing_Standard.AddLabeledCheckbox("CCPP_ColdNightHotDays".Translate(), ref settings.showWeather);
            //listing_Standard.AddHorizontalLine(3f);
            listing_Standard.AddLabeledRadioList($"{"CCPP_CycleTypeChoice".Translate()}:", cycleTypes, ref settings.cycleType);
            listing_Standard.GapLine(3f);
            listing_Standard.AddLabeledNumericalTextField <float>("CCPP_Multiplier".Translate(), ref settings.cycleMultiplier, minValue: 1f, maxValue: 20f);
            listing_Standard.AddLabeledNumericalTextField <float>("CCPP_Periods".Translate(), ref settings.cyclePeriods, minValue: 1f, maxValue: 8f);
            listing_Standard.End();
            settings.Write();
        }
        public static void DoWindowContents(Rect rect, Listing_Standard optionsListing)
        {
            optionsListing.CheckboxLabeled("Allow viewers to !buy ticket to join name queue?", ref ToolkitSettings.EnableViewerQueue);
            optionsListing.CheckboxLabeled("TwitchToolkitViewerColonistQueue".Translate(), ref ToolkitSettings.ViewerNamedColonistQueue);
            optionsListing.CheckboxLabeled("Charge viewers to join queue?", ref ToolkitSettings.ChargeViewersForQueue);
            optionsListing.AddLabeledNumericalTextField("Cost to join queue:", ref ToolkitSettings.CostToJoinQueue, 0.8f);

            optionsListing.Gap();
            optionsListing.GapLine();

            optionsListing.Label("Special Viewers");

            optionsListing.Gap();
            optionsListing.Label("<color=#D9BB25>Subscribers</color>");

            string subExtraCoinBuffer      = ToolkitSettings.SubscriberExtraCoins.ToString();
            string subCoinMultiplierBuffer = ToolkitSettings.SubscriberCoinMultiplier.ToString();
            string subExtraVotesBuffer     = ToolkitSettings.SubscriberExtraVotes.ToString();

            optionsListing.TextFieldNumericLabeled("Extra coins", ref ToolkitSettings.SubscriberExtraCoins, ref subExtraCoinBuffer, 0, 100);
            optionsListing.TextFieldNumericLabeled <float>("Coin bonus multiplier", ref ToolkitSettings.SubscriberCoinMultiplier, ref subCoinMultiplierBuffer, 1f, 5f);
            optionsListing.TextFieldNumericLabeled("Extra votes", ref ToolkitSettings.SubscriberExtraVotes, ref subExtraVotesBuffer, 0, 100);

            optionsListing.Gap();
            optionsListing.Label("<color=#5F49F2>VIPs</color>");

            string vipExtraCoinBuffer      = ToolkitSettings.VIPExtraCoins.ToString();
            string vipCoinMultiplierBuffer = ToolkitSettings.VIPCoinMultiplier.ToString();
            string vipExtraVotesBuffer     = ToolkitSettings.VIPExtraVotes.ToString();

            optionsListing.TextFieldNumericLabeled("Extra coins", ref ToolkitSettings.VIPExtraCoins, ref vipExtraCoinBuffer, 0, 100);
            optionsListing.TextFieldNumericLabeled <float>("Coin bonus multiplier", ref ToolkitSettings.VIPCoinMultiplier, ref vipCoinMultiplierBuffer, 1f, 5f);
            optionsListing.TextFieldNumericLabeled("Extra votes", ref ToolkitSettings.VIPExtraVotes, ref vipExtraVotesBuffer, 0, 100);

            optionsListing.Gap();
            optionsListing.Label("<color=#238C48>Mods</color>");

            string modExtraCoinBuffer      = ToolkitSettings.ModExtraCoins.ToString();
            string modCoinMultiplierBuffer = ToolkitSettings.ModCoinMultiplier.ToString();
            string modExtraVotesBuffer     = ToolkitSettings.ModExtraVotes.ToString();

            optionsListing.TextFieldNumericLabeled("Extra coins", ref ToolkitSettings.ModExtraCoins, ref modExtraCoinBuffer, 0, 100);
            optionsListing.TextFieldNumericLabeled <float>("Coin bonus multiplier", ref ToolkitSettings.ModCoinMultiplier, ref modCoinMultiplierBuffer, 1f, 5f);
            optionsListing.TextFieldNumericLabeled("Extra votes", ref ToolkitSettings.ModExtraVotes, ref modExtraVotesBuffer, 0, 100);

            optionsListing.Gap();
            optionsListing.GapLine();

            if (optionsListing.CenteredButton("Edit Viewers"))
            {
                Type type = typeof(Window_Viewers);
                Find.WindowStack.TryRemove(type);

                Window window = new Window_Viewers();
                Find.WindowStack.Add(window);
            }
        }
Example #5
0
        public static void DoWindowContents(Rect rect, Listing_Standard optionsListing)
        {
            optionsListing.AddLabeledNumericalTextField("TwitchToolkitStartingBalance".Translate(), ref ToolkitSettings.StartingBalance, 0.8f);
            optionsListing.SliderLabeled("TwitchToolkitCoinInterval".Translate(), ref ToolkitSettings.CoinInterval, Math.Round((float)ToolkitSettings.CoinInterval).ToString(), 1f, 15f);
            optionsListing.SliderLabeled("TwitchToolkitCoinAmount".Translate(), ref ToolkitSettings.CoinAmount, Math.Round((float)ToolkitSettings.CoinAmount).ToString(), 0f, 100f);
            optionsListing.AddLabeledNumericalTextField("TwitchToolkitMinimumPurchasePrice".Translate(), ref ToolkitSettings.MinimumPurchasePrice, 0.8f);

            optionsListing.Gap();

            optionsListing.CheckboxLabeled("TwitchToolkitUnlimitedCoins".Translate(), ref ToolkitSettings.UnlimitedCoins);

            optionsListing.GapLine();
            optionsListing.Gap();

            optionsListing.CheckboxLabeled("TwitchToolkitChatReqsForCoins".Translate(), ref ToolkitSettings.ChatReqsForCoins);
            optionsListing.SliderLabeled("TwitchToolkitTimeBeforeHalfCoins".Translate(), ref ToolkitSettings.TimeBeforeHalfCoins, Math.Round((double)ToolkitSettings.TimeBeforeHalfCoins).ToString(), 15f, 120f);
            optionsListing.SliderLabeled("TwitchToolkitTimeBeforeNoCoins".Translate(), ref ToolkitSettings.TimeBeforeNoCoins, Math.Round((double)ToolkitSettings.TimeBeforeNoCoins).ToString(), 30f, 240f);
        }
Example #6
0
        public override void DoSettingsWindowContents(Rect inRect)
        {
            Listing_Standard listingStandard = new Listing_Standard();

            listingStandard.Begin(inRect);
            listingStandard.AddLabeledRadioList($"Levelling Mode:", labels: LevellingMode, val: ref settings.LevellingType);
            listingStandard.GapLine(3f);
            listingStandard.AddLabeledRadioList($"Health Scaling Mode:", labels: HealthScalingMode, val: ref settings.HealthScalingType);
            listingStandard.GapLine(3f);
            listingStandard.Label($"Levelling Rate ({settings.LevelUpRate.ToStringPercent()})");
            settings.LevelUpRate = listingStandard.Slider(settings.LevelUpRate, 0.001f, 1f);
            listingStandard.Label($"Health Per Level Rate ({settings.LevelUpHealthRate.ToStringPercent()})");
            settings.LevelUpHealthRate = listingStandard.Slider(settings.LevelUpHealthRate, 0.001f, 1f);
            listingStandard.AddLabeledNumericalTextField("Maximum Random Level", ref settings.MaxRandomLevel, minValue: 1f, maxValue: 1000f);
            listingStandard.AddLabeledNumericalTextField("Base XP Required", ref settings.BaseXP, minValue: 1f, maxValue: 100000f);
            listingStandard.End();
            base.DoSettingsWindowContents(inRect);
        }
Example #7
0
        public static void DoWindowContents(Rect rect, Listing_Standard optionsListing)
        {
            optionsListing.SliderLabeled("Days per cooldown period", ref ToolkitSettings.EventCooldownInterval, Math.Round((double)ToolkitSettings.EventCooldownInterval).ToString(), 1f, 15f);

            optionsListing.Gap();

            optionsListing.CheckboxLabeled("TwitchToolkitMaxEventsLimit".Translate(), ref ToolkitSettings.MaxEvents);

            optionsListing.Gap();

            optionsListing.AddLabeledNumericalTextField("TwitchToolkitMaxBadEvents".Translate(), ref ToolkitSettings.MaxBadEventsPerInterval, 0.8f);
            optionsListing.AddLabeledNumericalTextField("TwitchToolkitMaxGoodEvents".Translate(), ref ToolkitSettings.MaxGoodEventsPerInterval, 0.8f);
            optionsListing.AddLabeledNumericalTextField("TwitchToolkitMaxNeutralEvents".Translate(), ref ToolkitSettings.MaxNeutralEventsPerInterval, 0.8f);
            optionsListing.AddLabeledNumericalTextField("TwitchToolkitMaxItemEvents".Translate(), ref ToolkitSettings.MaxCarePackagesPerInterval, 0.8f);

            optionsListing.Gap();

            optionsListing.CheckboxLabeled("TwitchToolkitEventsHaveCooldowns".Translate(), ref ToolkitSettings.EventsHaveCooldowns);
            //optionsListing.SliderLabeled("TwitchToolkitEventCooldownInterval".Translate(), ref ToolkitSettings.EventCooldownInterval, Math.Round((double)ToolkitSettings.EventCooldownInterval).ToString(), 1f, 15f);
        }
        public static void DoWindowContents(Rect rect, Listing_Standard optionsListing)
        {
            optionsListing.CheckboxLabeled("TwitchToolkitViewerColonistQueue".Translate(), ref ToolkitSettings.ViewerNamedColonistQueue);
            optionsListing.CheckboxLabeled("Charge viewers to join queue?", ref ToolkitSettings.ChargeViewersForQueue);
            optionsListing.AddLabeledNumericalTextField("Cost to join queue:", ref ToolkitSettings.CostToJoinQueue, 0.8f);

            optionsListing.Gap();
            optionsListing.GapLine();

            if (optionsListing.CenteredButton("Edit Viewers"))
            {
                Type type = typeof(Window_Viewers);
                Find.WindowStack.TryRemove(type);

                Window window = new Window_Viewers();
                Find.WindowStack.Add(window);
            }
        }
Example #9
0
        public override void DoSettingsWindowContents(Rect inRect)
        {
            Listing_Standard listing_Standard = new Listing_Standard();

            listing_Standard.Begin(inRect);
            listing_Standard.AddLabeledCheckbox("MessagesEnabledLabel".Translate() + " ", ref Settings.MessagesEnabled);
            listing_Standard.AddLabeledCheckbox("AggroCalmEnabledLabel".Translate() + " ", ref Settings.AggroCalmEnabled);
            listing_Standard.AddLabeledCheckbox("OpinionOnlyEnabledLabel".Translate() + " ", ref Settings.OpinionOnly);
            listing_Standard.AddLabeledCheckbox("NonFactionEnabledLabel".Translate() + " ", ref Settings.NonFaction);
            listing_Standard.AddLabeledCheckbox("TraderCalmEnabledLabel".Translate() + " ", ref Settings.TraderCalm);
            listing_Standard.AddLabeledCheckbox("AdvancedMenu".Translate() + "  ", ref Settings.AdvancedMenu);
            if (SOMod.Settings.AdvancedMenu)
            {
                listing_Standard.AddLabelLine("Formula = diplomacy skill * social multiplier + opinion * opinion multiplier");
                if (SOMod.Settings.OpinionOnly)
                {
                    listing_Standard.AddLabeledNumericalTextField("OOMultLabel".Translate(), ref Settings.OOpnWeight, (float)0.5, 0, 1);
                }
                else
                {
                    listing_Standard.AddLabeledNumericalTextField("SMultLabel".Translate(), ref Settings.DipWeight, (float)0.5, 0, 1);
                    listing_Standard.AddLabeledNumericalTextField("OMultLabel".Translate(), ref Settings.OpnWeight, (float)0.5, 0, 1);
                }

                listing_Standard.AddLabeledNumericalTextField("StunWeight".Translate(), ref Settings.StunWeight, (float)0.5, 0, 1);

                listing_Standard.AddLabeledNumericalTextField("CalmDuration".Translate(), ref SOMod.Settings.CalmDuration);
                listing_Standard.AddLabeledNumericalTextField("Cooldown".Translate(), ref SOMod.Settings.Cooldown);
                listing_Standard.AddLabeledCheckbox("DebugChanceSetting".Translate() + " ", ref Settings.Debug);
                listing_Standard.AddLabeledCheckbox("LaunchCounterSetting".Translate() + " ", ref Settings.LaunchCounter);
                listing_Standard.AddLabeledCheckbox("AlwaysSucceedSetting".Translate() + " ", ref Settings.AlwaysSucceed);
                if (listing_Standard.ButtonText("Default"))
                {
                    SnapUtils.DebugLog("Reset advanced settings to defaults");
                    SOMod.Settings.DipWeight     = 0.2f;
                    SOMod.Settings.OpnWeight     = 0.0014f;
                    SOMod.Settings.OOpnWeight    = 0.006f;
                    SOMod.Settings.StunWeight    = 0.55f;
                    SOMod.Settings.CalmDuration  = 1250;
                    SOMod.Settings.Debug         = false;
                    SOMod.Settings.LaunchCounter = true;
                    SOMod.Settings.Cooldown      = 15000;
                }
            }

            listing_Standard.End();
            Settings.Write();
        }
Example #10
0
        public static void DoWindowContents(Rect rect, Listing_Standard optionsListing)
        {
            optionsListing.CheckboxLabeled("TwitchToolkitViewerColonistQueue".Translate(), ref ToolkitSettings.ViewerNamedColonistQueue);
            optionsListing.CheckboxLabeled("Charge viewers to join queue?", ref ToolkitSettings.ChargeViewersForQueue);
            optionsListing.AddLabeledNumericalTextField("TwitchToolkitStartingBalance".Translate(), ref ToolkitSettings.CostToJoinQueue, 0.8f);

            optionsListing.Gap();
            optionsListing.GapLine();

            if (!resetCoinsWarning && optionsListing.CenteredButton("TwitchToolkitResetViewersCoinsOne".Translate()))
            {
                resetCoinsWarning = true;
            }
            if (resetCoinsWarning && optionsListing.CenteredButton("TwitchToolkitResetViewersCoinsTwo".Translate()))
            {
                Viewers.ResetViewersCoins();
                resetCoinsWarning = false;
            }

            if (!resetKarmaWarning && optionsListing.CenteredButton("TwitchToolkitResetViewersKarmaOne".Translate()))
            {
                resetKarmaWarning = true;
            }
            if (resetKarmaWarning && optionsListing.CenteredButton("TwitchToolkitResetViewersKarmaTwo".Translate()))
            {
                Viewers.ResetViewersKarma();
                resetKarmaWarning = false;
            }

            if (optionsListing.CenteredButton("TwitchToolkitKarmaRound".Translate()))
            {
                Viewers.AwardViewersCoins();
            }
            if (optionsListing.CenteredButton("TwitchToolkitRefreshViewers".Translate()))
            {
                Viewers.RefreshViewers();
            }
        }
Example #11
0
        //Main window thing
        public override void DoSettingsWindowContents(Rect inRect)
        {
            Listing_Standard listing_Standard = new Listing_Standard();

            listing_Standard.Begin(inRect);
            listing_Standard.AddLabeledCheckbox("MessagesEnabledLabel".Translate() + " ", ref settings.SOmessagesEnabled);
            listing_Standard.AddLabeledCheckbox("AggroCalmEnabledLabel".Translate() + " ", ref settings.SOAggroCalmEnabled);
            listing_Standard.AddLabeledCheckbox("OpinionOnlyEnabledLabel".Translate() + " ", ref settings.SOOpnOnly);
            listing_Standard.AddLabeledCheckbox("NonFactionEnabledLabel".Translate() + " ", ref settings.SONonFaction);
            listing_Standard.AddLabeledCheckbox("TraderCalmEnabledLabel".Translate() + " ", ref settings.SOTraderCalm);
            listing_Standard.AddLabeledCheckbox("AdvancedMenu".Translate() + "  ", ref settings.SOAdvanced);
            if (SOMod.settings.SOAdvanced)
            {
                listing_Standard.AddLabelLine("Formula = diplomacy skill * social multiplier + opinion * opinion multiplier");
                //listing_Standard.AddLabeledSlider("SMultLabel".Translate() + " - " + SOMod.settings.SODipWeight, ref settings.SODipWeight, 0f, 1f); done
                //listing_Standard.AddLabeledSlider("OMultLabel".Translate() + " - " + SOMod.settings.SOOpnWeight, ref settings.SOOpnWeight, 0f, 1f); done
                //listing_Standard.AddLabeledSlider("OOMultLabel".Translate() + " - " + SOMod.settings.SOOOpnWeight, ref settings.SOOOpnWeight, 0f, 1f); done
                //listing_Standard.AddLabeledSlider("StunWeight".Translate() + " - " + SOMod.settings.SOStunWeight, ref settings.SOStunWeight, 0f, 1f); done
                listing_Standard.AddLabeledNumericalTextField("SMultLabel".Translate(), ref settings.SODipWeight, (float)0.5, 0, 1);
                listing_Standard.AddLabeledNumericalTextField("OMultLabel".Translate(), ref settings.SOOpnWeight, (float)0.5, 0, 1);
                listing_Standard.AddLabeledNumericalTextField("OOMultLabel".Translate().Translate(), ref settings.SOOOpnWeight, (float)0.5, 0, 1);
                listing_Standard.AddLabeledNumericalTextField("StunWeight".Translate(), ref settings.SOStunWeight, (float)0.5, 0, 1);

                listing_Standard.AddLabeledNumericalTextField("CalmDuration".Translate(), ref SOMod.settings.SOCalmDuration);
                listing_Standard.AddLabeledNumericalTextField("Cooldown".Translate(), ref SOMod.settings.SOCooldown);
                listing_Standard.AddLabeledCheckbox("DebugChanceSetting".Translate() + " ", ref settings.SODebug);
                if (listing_Standard.ButtonText("Default"))
                {
                    SnapUtils.logThis("Reset advanced settings to defaults");
                    SOMod.settings.SODipWeight    = 0.2f;
                    SOMod.settings.SOOpnWeight    = 0.0014f;
                    SOMod.settings.SOOOpnWeight   = 0.006f;
                    SOMod.settings.SOStunWeight   = 0.55f;
                    SOMod.settings.SOCalmDuration = 1250;
                    SOMod.settings.SODebug        = false;
                    SOMod.settings.SOCooldown     = 15000;
                }
            }
            listing_Standard.End();
            settings.Write();
        }
        public override void DoWindowContents(Rect inRect)
        {
            if (!checkedForBackup || !haveBackup)
            {
                MakeSureSaveExists();
                return;
            }

            Listing_Standard ls = new Listing_Standard();

            ls.Begin(inRect);
            ls.Label(storeIncident.label.CapitalizeFirst());

            ls.Gap();

            if (storeIncident.cost > 0)
            {
                storeIncident.abbreviation = ls.TextEntryLabeled("Purchase Code:", storeIncident.abbreviation);

                ls.Gap();

                ls.AddLabeledNumericalTextField <int>("Cost", ref storeIncident.cost);

                ls.SliderLabeled("Max times per " + ToolkitSettings.EventCooldownInterval + " ingame day(s)", ref storeIncident.eventCap, storeIncident.eventCap.ToString(), 0, 15);

                if (variableIncident && storeIncidentVariables.maxWager > 0)
                {
                    ls.Gap();

                    ls.SliderLabeled("Maximum coin wager", ref storeIncidentVariables.maxWager, storeIncidentVariables.cost.ToString(), storeIncident.cost, 20000f);
                }

                ls.Gap();

                ls.AddLabeledRadioList("Karma Type", karmaTypeStrings, ref setKarmaType);

                storeIncident.karmaType = (KarmaType)Enum.Parse(typeof(KarmaType), setKarmaType);

                if (variableIncident)
                {
                    ls.Gap();
                    ls.GapLine();
                    ls.Label("Custom Settings");

                    int KeyIndex = 0;

                    if (storeIncidentVariables.customSettingStringValues != null)
                    {
                        foreach (string str in storeIncidentVariables.customSettingStringValues)
                        {
                            string key = storeIncidentVariables.customSettingKeys[KeyIndex];
                            CustomSettings.SetStringSetting(key, ls.TextEntryLabeled(StripSettingKey(key), CustomSettings.LookupStringSetting(key)));
                            KeyIndex++;
                        }
                    }

                    if (storeIncidentVariables.customSettingFloatValues != null)
                    {
                        foreach (float flt in storeIncidentVariables.customSettingFloatValues)
                        {
                            string key            = storeIncidentVariables.customSettingKeys[KeyIndex];
                            float  newValue       = CustomSettings.LookupFloatSetting(key);
                            string newValueBuffer = newValue.ToString();
                            ls.TextFieldNumericLabeled <float>(StripSettingKey(key), ref newValue, ref newValueBuffer);
                            CustomSettings.SetFloatSetting(key, newValue);
                            KeyIndex++;
                        }
                    }


                    ls.GapLine();
                }

                ls.Gap();

                if (ls.ButtonTextLabeled("Disable Store Incident", "Disable"))
                {
                    storeIncident.cost = -10;
                }
            }

            ls.Gap();

            if (storeIncident.defName == "Item")
            {
                ls.SliderLabeled("Max times per " + ToolkitSettings.EventCooldownInterval + " ingame day(s)", ref storeIncident.eventCap, storeIncident.eventCap.ToString(), 0, 15);

                ls.Gap();
            }

            if (storeIncident.defName != "Item" && ls.ButtonTextLabeled("Reset to Default", "Reset"))
            {
                Store_IncidentEditor.LoadBackup(storeIncident);
                if (storeIncident.cost < 1)
                {
                    storeIncident.cost = 50;
                }
                MakeSureSaveExists(true);
            }

            if (storeIncident.defName == "Item" && ls.ButtonTextLabeled("Edit item prices", "Edit"))
            {
                Type type = typeof(StoreItemsWindow);
                Find.WindowStack.TryRemove(type);

                Window window = new StoreItemsWindow();
                Find.WindowStack.Add(window);
            }

            ls.End();
        }
Example #13
0
        public override void DoWindowContents(Rect inRect)
        {
            if (!checkedForBackup || !haveBackup)
            {
                MakeSureSaveExists();
                return;
            }

            Listing_Standard ls = new Listing_Standard();

            ls.Begin(inRect);
            ls.Label(storeIncident.label.CapitalizeFirst());

            ls.Gap();

            if (storeIncident.cost > 0)
            {
                storeIncident.abbreviation = ls.TextEntryLabeled("Purchase Code:", storeIncident.abbreviation);

                ls.Gap();

                ls.AddLabeledNumericalTextField <int>("Cost", ref storeIncident.cost);

                ls.SliderLabeled("Max times per " + ToolkitSettings.EventCooldownInterval + " ingame day(s)", ref storeIncident.eventCap, storeIncident.eventCap.ToString(), 0, 15);

                if (variableIncident && storeIncidentVariables.maxWager > 0)
                {
                    ls.Gap();

                    ls.SliderLabeled("Maximum coin wager", ref storeIncidentVariables.maxWager, storeIncidentVariables.cost.ToString(), storeIncident.cost, 20000f);
                }


                ls.Gap();

                ls.AddLabeledRadioList("Karma Type", karmaTypeStrings, ref setKarmaType);

                storeIncident.karmaType = (KarmaType)Enum.Parse(typeof(KarmaType), setKarmaType);

                ls.Gap();

                if (ls.ButtonTextLabeled("Disable Store Incident", "Disable"))
                {
                    storeIncident.cost = -10;
                }
            }

            ls.Gap();

            if (storeIncident.defName == "Item")
            {
                ls.SliderLabeled("Max times per " + ToolkitSettings.EventCooldownInterval + " ingame day(s)", ref storeIncident.eventCap, storeIncident.eventCap.ToString(), 0, 15);

                ls.Gap();
            }

            if (variableIncident && storeIncidentVariables.customSettings)
            {
                ls.Gap();

                if (ls.ButtonTextLabeled("Edit Extra Settings", "Settings"))
                {
                    storeIncidentVariables.settings.EditSettings();
                }
            }

            ls.Gap();

            if (storeIncident.defName != "Item" && ls.ButtonTextLabeled("Reset to Default", "Reset"))
            {
                Store_IncidentEditor.LoadBackup(storeIncident);
                if (storeIncident.cost < 1)
                {
                    storeIncident.cost = 50;
                }
                MakeSureSaveExists(true);
            }

            if (storeIncident.defName == "Item" && ls.ButtonTextLabeled("Edit item prices", "Edit"))
            {
                Type type = typeof(StoreItemsWindow);
                Find.WindowStack.TryRemove(type);

                Window window = new StoreItemsWindow();
                Find.WindowStack.Add(window);
            }

            ls.End();
        }