public static void OptionsMenu(Rect rect) { var mod = LoadedModManager.GetMod <TwitchToolkit>(); Listing_TwitchToolkit listingStandard = new Listing_TwitchToolkit(); listingStandard.Begin(rect); listingStandard.CheckboxLabeled("Should buildings unable to be uninstalled be included in the item list? ", ref MinifiableBuildings, "Non-Minifiable Buildings?"); listingStandard.CheckboxLabeled("Should viewers have unlimited coins? ", ref UnlimitedCoins, "Unlimited coins?"); listingStandard.CheckboxLabeled("Should events have cooldowns? ", ref EventsHaveCooldowns, "Event cooldowns?"); listingStandard.CheckboxLabeled("Should viewer names be repeated in raids/aid? ", ref RepeatViewerNames, "Repeat viewers?"); listingStandard.CheckboxLabeled("Large voting window? ", ref LargeVotingWindow, "Large window?"); listingStandard.Label("How many minutes in a cooldown period: " + EventCooldownInterval); EventCooldownInterval = listingStandard.Slider((float)EventCooldownInterval, 1, 120); listingStandard.Label("Seperate chatroom UUID:"); ChatroomUUID = listingStandard.TextEntry(ChatroomUUID); listingStandard.Label("Seperate channel id:"); ChannelID = listingStandard.TextEntry(ChannelID); if (listingStandard.ButtonText("Reset Options")) { MinifiableBuildings = false; UnlimitedCoins = false; EventsHaveCooldowns = true; EventCooldownInterval = 15; mod.WriteSettings(); } listingStandard.End(); }
private static void CoinMenu(Rect rect) { var mod = LoadedModManager.GetMod <TwitchToolkit>(); Listing_TwitchToolkit listingStandard = new Listing_TwitchToolkit(); listingStandard.Begin(rect); listingStandard.CheckboxLabeled("Reward Coins: ", ref EarningCoins, "Should viewers earn coins while watching?"); listingStandard.CheckboxLabeled("Store Open: ", ref StoreOpen, "Enable purchasing of events and items"); listingStandard.CheckboxLabeled("Viewers can gift other viewers coins: ", ref GiftingCoins, "Enable gifting"); listingStandard.Label("Coins Per Interval: " + CoinAmount); CoinAmount = listingStandard.Slider((float)CoinAmount, 1, 250); listingStandard.Label("Max Karma: " + KarmaCap); KarmaCap = listingStandard.Slider((float)KarmaCap, 100, 1000); listingStandard.Label("Minimum Purchase Price: " + MinimumPurchasePrice); MinimumPurchasePrice = listingStandard.Slider((float)MinimumPurchasePrice, 10, 500); listingStandard.Label("Minutes between coin reward: " + CoinInterval); CoinInterval = listingStandard.Slider((float)CoinInterval, 1, 60); listingStandard.Label("Starting balance: " + StartingBalance); StartingBalance = listingStandard.Slider((float)StartingBalance, 0, 1000); listingStandard.Label("Starting karma: " + StartingKarma); StartingKarma = listingStandard.Slider((float)StartingKarma, 10, Settings.KarmaCap); listingStandard.Label("Link to custom pricing sheet: (check steamworkshop description for instructions)"); CustomPricingSheetLink = listingStandard.TextEntry(CustomPricingSheetLink); if (listingStandard.ButtonText("Disable Events")) { foreach (Product product in products) { product.amount = -10; ProductAmounts[product.id] = -10; } } if (listingStandard.ButtonText("Enable Events")) { ResetProductData(); } if (listingStandard.ButtonText("Reset Coin Settings")) { EarningCoins = true; StoreOpen = false; GiftingCoins = false; CoinAmount = 30; KarmaCap = 140; MinimumPurchasePrice = 60; CoinInterval = 2; CustomPricingSheetLink = "https://bit.ly/2C7bls0"; StartingBalance = 150; StartingKarma = 100; mod.WriteSettings(); } listingStandard.End(); }