using System.Collections.Generic; using Kitchen; using Kitchen.Modules; using KitchenLib; using KitchenLib.Preferences; using UnityEngine; namespace MMOKitchen.Menus { public class PreferenceMenu : KLMenu { public PreferenceMenu(Transform container, ModuleList module_list) : base(container, module_list) { } private Option requiredPercentage = new Option(new List { 25, 50, 75, 100 }, Mod.manager.GetPreference("requiredConsentPercentage").Get(), new List { "25%", "50%", "75%", "100%" }); private Option scaleMultiplier = new Option(new List { 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1f }, Mod.manager.GetPreference("scaleAbove4PlayersMultiplier").Get(), new List { "0.1", "0.2", "0.3", "0.4", "0.5", "0.6", "0.7", "0.8", "0.9", "1.0" }); private Option scaleEnabled = new Option(new List { true, false }, Mod.manager.GetPreference("scaleAbove4Players").Get(), new List { "Enabled", "Disabled" }); public override void Setup(int player_id) { New(true); AddLabel("Required Consent Percentage"); AddSelect(requiredPercentage); requiredPercentage.OnChanged += delegate (object _, int result) { Mod.manager.GetPreference("requiredConsentPercentage").Set(result); }; New(true); AddLabel("Scale Above 4 Players"); AddSelect(scaleEnabled); scaleEnabled.OnChanged += delegate (object _, bool result) { Mod.manager.GetPreference("scaleAbove4Players").Set(result); }; AddLabel("Scale Multiplier"); AddSelect(scaleMultiplier); scaleMultiplier.OnChanged += delegate (object _, float result) { Mod.manager.GetPreference("scaleAbove4PlayersMultiplier").Set(result); }; New(true); New(true); AddButton(base.Localisation["MENU_BACK_SETTINGS"], delegate (int i) { Mod.manager.Save(); this.RequestPreviousMenu(); }, 0, 1f, 0.2f); } } }