using BepInEx.Configuration; namespace UIFixes { internal class Settings { // Categories private const string WeaponPresets = "Weapon Presets"; private const string TransferItems = "Transfer Items"; private const string Inventory = "Inventory"; private const string InRaid = "In Raid"; private const string Items = "Items"; private const string ContainerStacking = "Containers autostack FiR and non-FiR"; public static ConfigEntry WeaponPresetConfirmOnNavigate { get; set; } public static ConfigEntry WeaponPresetConfirmOnClose { get; set; } public static ConfigEntry TransferConfirmOnClose { get; set; } public static ConfigEntry UseHomeEnd { get; set; } public static ConfigEntry RebindPageUpDown { get; set; } public static ConfigEntry MouseScrollMulti { get; set; } public static ConfigEntry RemoveDisabledActions { get; set; } public static ConfigEntry SwapItems { get; set; } public static ConfigEntry ShowModStats { get; set; } public static ConfigEntry MergeFIRMoney { get; set; } public static ConfigEntry MergeFIRAmmo { get; set; } public static ConfigEntry MergeFIROther { get; set; } public static void Init(ConfigFile config) { WeaponPresetConfirmOnNavigate = config.Bind(WeaponPresets, "Confirm on screen change", false, "Whether to confirm unsaved changes when you change screens without closing the preset"); WeaponPresetConfirmOnClose = config.Bind(WeaponPresets, "Confirm on close", true, "Whether to still confirm unsaved changes when you actually close the preset"); TransferConfirmOnClose = config.Bind(TransferItems, "Confirm untransfered items", false, "Whether to pointlessly confirm that you're leaving the item transfer with literally no consequences"); UseHomeEnd = config.Bind(Inventory, "Add support for Home and End", true, "Home and End will scroll to the top and bottom of lists"); RebindPageUpDown = config.Bind(Inventory, "Use normal PageUp and PageDown (requires restart)", true, "Changes PageUp and PageDown to simply page up and down, not scroll all the way to top and bottom"); MouseScrollMulti = config.Bind(Inventory, "Mousewheel scrolling multiplier", 1, "How many rows to scroll with the mousewheel"); SwapItems = config.Bind(Inventory, "In-place item swapping", true); RemoveDisabledActions = config.Bind(InRaid, "Hide unimplemented actions", false, "Hides actions you can't actually do, like \"Bang and Clear\", etc from locked doors and other interactable objects"); ShowModStats = config.Bind(Items, "Show total mod stats", true, "Item mods will show stats that include mods attached to them (you can also control this from a mod's inspect window)"); MergeFIRMoney = config.Bind(ContainerStacking, "Money", true, "Allows automatic stacking of Found In Raid money with other money, making container interaction easier"); MergeFIRAmmo = config.Bind(ContainerStacking, "Ammo", false, "Allows automatic stacking of Found In Raid ammo with other ammo, making container interaction easier"); MergeFIROther = config.Bind(ContainerStacking, "Other", false, "Allows automatic stacking of all other Found In Raid items with other items, making container interaction easier"); } } }