You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

53 lines
2.2 KiB

using CustomUI.Settings;
using IPA.Config;
using VRUI;
namespace BSIPA_ModList.UI
{
internal static class SettingsViewController
{
private static SubMenu menu;
private static BoolViewController autoUpdate;
private static BoolViewController autoCheck;
private static BoolViewController showEnableDisable;
public static VRUIViewController Create()
{
menu = SettingsUI.CreateSubMenu("ModListSettings", false);
autoCheck = menu.AddBool("Auto Update Check", "If enabled, automatically checks for updates on game start.");
autoUpdate = menu.AddBool("Auto Update", "If enabled, automatically installs updates after checking for them.");
showEnableDisable = menu.AddBool("Show Enable/Disable Button", "If enabled, BSIPA mods will have a button to enable or disable them.");
autoCheck.applyImmediately = true;
autoCheck.GetValue += () => IPA.Config.SelfConfig.SelfConfigRef.Value.Updates.AutoCheckUpdates;
autoCheck.SetValue += val =>
{
IPA.Config.SelfConfig.SelfConfigRef.Value.Updates.AutoCheckUpdates = val;
IPA.Config.SelfConfig.LoaderConfig.Store(IPA.Config.SelfConfig.SelfConfigRef.Value);
};
autoUpdate.applyImmediately = true;
autoUpdate.GetValue += () => IPA.Config.SelfConfig.SelfConfigRef.Value.Updates.AutoUpdate;
autoUpdate.SetValue += val =>
{
IPA.Config.SelfConfig.SelfConfigRef.Value.Updates.AutoUpdate = val;
IPA.Config.SelfConfig.LoaderConfig.Store(IPA.Config.SelfConfig.SelfConfigRef.Value);
};
showEnableDisable.applyImmediately = true;
showEnableDisable.GetValue += () => Plugin.config.Value.ShowEnableDisable;
showEnableDisable.SetValue += val =>
{
Plugin.config.Value.ShowEnableDisable = val;
Plugin.provider.Store(Plugin.config.Value);
};
autoCheck.Init();
autoUpdate.Init();
showEnableDisable.Init();
return menu.viewController;
}
}
}