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;
|
|
}
|
|
}
|
|
}
|