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."); autoCheck.applyImmediately = true; autoCheck.GetValue += () => SelfConfig.SelfConfigRef.Value.Updates.AutoCheckUpdates; autoCheck.SetValue += val => { SelfConfig.SelfConfigRef.Value.Updates.AutoCheckUpdates = val; SelfConfig.LoaderConfig.Store(SelfConfig.SelfConfigRef.Value); }; autoUpdate.applyImmediately = true; autoUpdate.GetValue += () => SelfConfig.SelfConfigRef.Value.Updates.AutoUpdate; autoUpdate.SetValue += val => { SelfConfig.SelfConfigRef.Value.Updates.AutoUpdate = val; SelfConfig.LoaderConfig.Store(SelfConfig.SelfConfigRef.Value); }; return(menu.viewController); }
public static void playerProperties() { SubMenu fitNessCalculating = SettingsUI.CreateSubMenu("Fitness Properties"); BoolViewController units = fitNessCalculating.AddBool("Metric Units? (Kgs, cm)"); units.GetValue += delegate { return(ModPrefs.GetBool(Plugin.alias, "lbskgs", false, true)); }; units.SetValue += delegate(bool lork) { ModPrefs.SetBool(Plugin.alias, "lbskgs", lork); }; bool lbsorkgs = ModPrefs.GetBool(Plugin.alias, "lbskgs", false, true); if (lbsorkgs) ////Converted to kgs { IntViewController weightKGS = fitNessCalculating.AddInt("Weight (kgs)", 36, 363, 1); weightKGS.GetValue += delegate { return(ModPrefs.GetInt(Plugin.alias, "weightKGS", 60, true)); }; weightKGS.SetValue += delegate(int kgs) { ModPrefs.SetInt(Plugin.alias, "weightKGS", kgs); }; }/////// Freedom Units else { IntViewController weightLBS = fitNessCalculating.AddInt("Weight (lbs)", 80, 800, 2); weightLBS.GetValue += delegate { return(ModPrefs.GetInt(Plugin.alias, "weightLBS", 132, true)); }; weightLBS.SetValue += delegate(int lbs) { ModPrefs.SetInt(Plugin.alias, "weightLBS", (int)(lbs)); }; } }
private void SetupUI() { if (initialized) { return; } RectTransform mainMenu = (Resources.FindObjectsOfTypeAll <MainMenuViewController>().First().rectTransform); MenuButtonUI.AddButton("More songs...", BeatSaverButtonPressed); //_moreSongsButton.interactable = false; var downloaderSubMenu = SettingsUI.CreateSubMenu("Downloader"); var disableDeleteButton = downloaderSubMenu.AddBool("Disable delete button"); disableDeleteButton.GetValue += delegate { return(PluginConfig.disableDeleteButton); }; disableDeleteButton.SetValue += delegate(bool value) { PluginConfig.disableDeleteButton = value; PluginConfig.SaveConfig(); }; var deleteToRecycleBin = downloaderSubMenu.AddBool("Delete to Recycle Bin"); deleteToRecycleBin.GetValue += delegate { return(PluginConfig.deleteToRecycleBin); }; deleteToRecycleBin.SetValue += delegate(bool value) { PluginConfig.deleteToRecycleBin = value; PluginConfig.SaveConfig(); }; var maxSimultaneousDownloads = downloaderSubMenu.AddInt("Max simultaneous downloads", 1, 10, 1); maxSimultaneousDownloads.GetValue += delegate { return(PluginConfig.maxSimultaneousDownloads); }; maxSimultaneousDownloads.SetValue += delegate(int value) { PluginConfig.maxSimultaneousDownloads = value; PluginConfig.SaveConfig(); }; initialized = true; }
private void OnSceneLoaded(Scene arg0, LoadSceneMode arg1) { if (arg0.name != "MenuCore") { return; } var menu = SettingsUI.CreateSubMenu("FullComboDisplay"); float[] effectVals = new float[effects.Length]; for (int i = 0; i < effects.Length; i++) { effectVals[i] = i; } var enabled = menu.AddBool("Enabled"); enabled.GetValue += delegate { return(ModPrefs.GetBool("FCDisplay", "Enabled", true, true)); }; enabled.SetValue += delegate(bool value) { ModPrefs.SetBool("FCDisplay", "Enabled", value); }; enabled.EnabledText = "Enabled"; enabled.DisabledText = "Disabled"; var effect = menu.AddList("Miss Effect", effectVals); effect.GetValue += delegate { return(ModPrefs.GetInt("FCDisplay", "MissEffect", 1, true)); }; effect.SetValue += delegate(float value) { ModPrefs.SetInt("FCDisplay", "MissEffect", (int)value); }; effect.FormatValue += delegate(float value) { return(effects[(int)value]); }; var vanilla = menu.AddBool("Vanilla Display (Combo Border)"); vanilla.GetValue += delegate { return(ModPrefs.GetBool("FCDisplay", "VanillaEnabled", false, true)); }; vanilla.SetValue += delegate(bool value) { ModPrefs.SetBool("FCDisplay", "VanillaEnabled", value); }; vanilla.EnabledText = "Visible"; vanilla.DisabledText = "Hidden"; }
private void SceneManager_sceneLoaded(Scene arg0, LoadSceneMode arg1) { if (arg0.name == "Menu") { modEnable = false; var settingsSubmenu = SettingsUI.CreateSubMenu("AutoPause"); var en = settingsSubmenu.AddBool("AutoPause Enabled"); en.GetValue += delegate { return(ModPrefs.GetBool("Auros's AutoPause", "Enabled", true, true)); }; en.SetValue += delegate(bool value) { ModPrefs.SetBool("Auros's AutoPause", "Enabled", value); }; var pq = settingsSubmenu.AddBool("FPS Pause"); pq.GetValue += delegate { return(ModPrefs.GetBool("Auros's AutoPause", "FPSCheckerOn", false, true)); }; pq.SetValue += delegate(bool value) { ModPrefs.SetBool("Auros's AutoPause", "FPSCheckerOn", value); }; float[] fpsValues = { 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90 }; var fpsThreshold = settingsSubmenu.AddList("FPS Threshold", fpsValues); fpsThreshold.GetValue += delegate { return(ModPrefs.GetFloat("Auros's AutoPause", "FPSThreshold", 40, true)); }; fpsThreshold.SetValue += delegate(float value) { ModPrefs.SetFloat("Auros's AutoPause", "FPSThreshold", value); }; fpsThreshold.FormatValue += delegate(float value) { return(string.Format("{0:0}", value)); }; System.Console.WriteLine("[AutoPause] Settings Created"); //System.Console.Read(); //SharedCoroutineStarter.instance.StartCoroutine(DelayedEnable()); } }
public NsvAppInstaller(Logger logger, PluginConfig config) { _logger = logger; _config = config; PluginConfig.Instance = config; SettingsUI.CreateMenu(); }
private void Unload() { RemoveEvents(); TransparentWallPatches.RemoveHarmonyPatches(); Configuration.Save(); SettingsUI.RemoveMenu(); }
private void SceneManager_sceneLoaded(Scene arg0, LoadSceneMode arg1) { if (arg0.name != "Menu") { return; } Plugin.Log("Menu Tweaks Started!", LogLevel.DebugOnly); // Create the settings menu var submenu = SettingsUI.CreateSubMenu("Menu Tweaks"); // Add the Fail Counter toggle failCounterToggle = submenu.AddBool("Fail Counter"); failCounterToggle.GetValue += delegate { return(ModPrefs.GetBool("MenuTweaks", "FailCounterVisible", true, true)); }; failCounterToggle.SetValue += delegate(bool value) { ModPrefs.SetBool("MenuTweaks", "FailCounterVisible", value); }; failCounterToggle.EnabledText = "VISIBLE"; failCounterToggle.DisabledText = "HIDDEN"; // Add the Click Shockwave toggle menuShockwaveToggle = submenu.AddBool("Click Shockwave"); menuShockwaveToggle.GetValue += delegate { return(ModPrefs.GetBool("MenuTweaks", "ClickShockwaveEnabled", true, true)); }; menuShockwaveToggle.SetValue += delegate(bool value) { ModPrefs.SetBool("MenuTweaks", "ClickShockwaveEnabled", value); }; // Add the Fireworks toggle fireworksToggle = submenu.AddBool("Fireworks"); fireworksToggle.GetValue += delegate { return(ModPrefs.GetBool("MenuTweaks", "FireworksEnabled", true, true)); }; fireworksToggle.SetValue += delegate(bool value) { ModPrefs.SetBool("MenuTweaks", "FireworksEnabled", value); }; }
public FirstRunTutorial(Main main) : base(main, EPin.TopRight, new Point(-200, 80)) { InitializeComponent(); ShowInTaskbar = false; Icon = main.Icon; HideOnClose = false; // Close the current log file, save the user settings // and load the default settings m_main = main; m_main.Src = null; m_page_index = ETutPage.First - 1; // Grab a reference to the main settings then replace the // main settings with a default instance m_orig_settings = m_main.Settings; m_main.Settings = new Settings() { AutoSaveOnChanges = false }; // Create a new settings UI for the tutorial m_settings_ui = new SettingsUI(m_main, SettingsUI.ETab.Highlights) { StartPosition = FormStartPosition.CenterParent, Owner = m_main }; m_current_page = new PageBase(this, m_main); m_html.Navigate("about:blank"); m_btn_back.Click += (s, a) => SwitchPage(false); m_btn_next.Click += (s, a) => SwitchPage(true); }
public void OnSceneLoaded(Scene scene, LoadSceneMode arg1) { if (save) { Logger.log.Info("Saving Settings"); settings.SaveSettings(); save = false; } if (scene.name == "MenuCore" && !settingsattached) { SubMenu settingsSubmenu = SettingsUI.CreateSubMenu("Rumble Enhancer"); string hint = "Duration of Rumble Effect"; IntViewController rumbleTime = settingsSubmenu.AddInt("Rumble Length\t\t(in ms)", hint, 0, 250, 5); rumbleTime.GetValue += delegate { return(settings.RumbleTimeMS); }; rumbleTime.SetValue += delegate(int value) { settings.RumbleTimeMS = value; }; hint = "The Pause between single pulses,\n the lower this is the stronger the rumble will feel"; IntViewController rumblePause = settingsSubmenu.AddInt("Rumble Interval\t(in ms)", hint, 0, 30, 1); rumblePause.GetValue += delegate { return(settings.TimeBetweenRumblePulsesMS); }; rumblePause.SetValue += delegate(int value) { settings.TimeBetweenRumblePulsesMS = value; }; settingsattached = true; Logger.log.Info("Settings attached!"); } }
public static void OnLoad() { SubMenu subMenu = SettingsUI.CreateSubMenu("Twitch Camera Mover"); // Create the gameobject if (CameraMover.Instance == null) { new GameObject("CameraMover").AddComponent <CameraMover>(); } if (newCube == null) { newCube = GameObject.CreatePrimitive(PrimitiveType.Cube); DontDestroyOnLoad(newCube); newCube.SetActive(true); newCube.transform.localScale = new Vector3(0.15f, 0.15f, 0.22f); newCube.name = "CustomCameraCube"; newCube.transform.position = new Vector3(0, 1.5f, 0.5f); } if (floorAdjustViewController == null) { getPlayerHeight(); } }
private static void CreateSettingsUI() { var subMenu = SettingsUI.CreateSubMenu("Scoreboard Style"); colorMap = new Dictionary <string, Color>(); MakePicker(subMenu, "default", "Default", "Color for normal users", "#FFFFFF"); MakePicker(subMenu, "patron", "Patron", "Color for scoresaber patreon supporters", "#F96854"); MakePicker(subMenu, "rankingTeam", "Ranking Team", "Color for scoresaber ranking team members", "#1ABC9C"); MakePicker(subMenu, "staff", "Staff", "Color for scoresaber staff", "#FF03E3"); MakePicker(subMenu, "percent", "Percentage", "Color for score percentage", "#FFD42A"); MakePicker(subMenu, "pp", "PP", "Color for pp earned", "#6772E5"); var rankPicker = MakePicker(subMenu, "rank", "Rank", "Color for leaderboard rank", "#FFFFFF", false); rankPicker.SetValue += delegate(Color value) { string hex = "#" + ColorUtility.ToHtmlStringRGB(value); rankColor = hex; config.SetString("Colors", "rank", hex); }; var scorePicker = MakePicker(subMenu, "score", "Score", "Color for score", "#FFFFFF", false); scorePicker.SetValue += delegate(Color value) { string hex = "#" + ColorUtility.ToHtmlStringRGB(value); scoreColor = hex; config.SetString("Colors", "score", hex); }; }
internal static SubMenu createBase <T>(string name, T configItem, params ICounterPositions[] restricted) where T : Config.IConfigModel { Plugin.Log("Creating base for: " + name); List <Tuple <ICounterPositions, string> > restrictedList = new List <Tuple <ICounterPositions, string> >(); try { foreach (ICounterPositions pos in restricted) { restrictedList.Add(Tuple.Create(pos, positions.Where((Tuple <ICounterPositions, string> x) => x.Item1 == pos).First().Item2)); } } catch { } //It most likely errors here. If it does, well no problem. var @base = SettingsUI.CreateSubMenu("Counters+ | " + name); var enabled = @base.AddBool("Enabled", "Toggles this counter on or off."); enabled.GetValue += () => configItem.Enabled; enabled.SetValue += v => configItem.Enabled = v; var position = @base.AddListSetting <PositionSettingsViewController>("Position", "The relative positions of common UI elements of which to go off of."); position.values = (restrictedList.Count() == 0) ? positions : restrictedList; position.GetValue = () => positions.Where((Tuple <Config.ICounterPositions, string> x) => (x.Item1 == configItem.Position)).FirstOrDefault(); position.GetTextForValue = (value) => value.Item2; position.SetValue = v => configItem.Position = v.Item1; var index = @base.AddInt("Index", "How far from the position the counter will be. A higher number means farther away.", 0, 5, 1); index.GetValue += () => configItem.Index; index.SetValue += v => configItem.Index = v; return(@base); }
public override void Load() { if (harmonyInstance == null) { harmonyInstance = HarmonyInstance.Create(Name); } harmonyInstance.PatchAll(); keyToggle = RegisterHotKey("Toggle", "NumPad1"); keyStep = RegisterHotKey("Step", "NumPad2"); keyAutoStep = RegisterHotKey("Auto step", "NumPad3"); keySettings = RegisterHotKey("Settings", "NumPad5"); if (!Main.dedServ) { settingsUI = new SettingsUI(); userInterface = new UserInterface(); userInterface.SetState(settingsUI); settingsUI.Activate(); UILayer = new LegacyGameInterfaceLayer("MechScope: Settings menu", delegate { if (settingsUI.Visible) { settingsUI.Draw(Main.spriteBatch); userInterface.Update(Main._drawInterfaceGameTime); } return(true); } ); } }
private void Load() { Configuration.Load(); SaberAssetLoader.LoadCustomSabers(); SettingsUI.CreateMenu(); Logger.log.Info($"{PluginName} v.{PluginVersion} has started."); }
private void Load() { Configuration.Load(); SettingsUI.CreateMenu(); AddEvents(); Logger.log.Info($"{PluginName} v.{PluginVersion} has started."); }
private void Unload() { RemoveEvents(); CustomMaterialsPatches.RemoveHarmonyPatches(); Configuration.Save(); MaterialAssetLoader.Clear(); SettingsUI.RemoveMenu(); }
public static void OnLoad() { var menu = SettingsUI.CreateSubMenu("Pimax Light Fixer"); var disableLighting = menu.AddBool("Disable Lighting", "When enabled, the problem light components are completely destroyed instead of being repositioned."); disableLighting.GetValue += () => { return(Config.DisableLighting); }; disableLighting.SetValue += (value) => { Config.DisableLighting = value; }; }
public TutPatternsList(FirstRunTutorial tut, Main main, SettingsUI ui) : base(tut, main) { m_ui = ui; m_overlay.SnapShotCaptured += (s, a) => { PaintHighlight(a.Gfx, a.ClientRectangle, m_ui.m_grid_highlight.ParentFormRectangle()); }; }
private void CloseAll() { _menuController.Dispose(); _remoteTemperatureMonitor?.StopWorkerAsync(); TemperatureUI?.Close(); _temperatureObservers?.Clear(); SettingsUI?.Close(); }
private void Awake() { this.levelSelect = this.GetComponentInChildren <Dropdown>(); this.controllsPane = this.GetComponentInChildren <ControllsUI>(); this.settingsPane = this.GetComponentInChildren <SettingsUI>(); this.bestTimesPane = this.GetComponentInChildren <BestTimesUI>(); }
private void Load() { Configuration.Load(); TransparentWallPatches.ApplyHarmonyPatches(); SettingsUI.CreateMenu(); AddEvents(); Logger.Log.Info($"{PluginName} v.{PluginVersion} has started."); }
private void Load() { ApplyHarmonyPatches(); Configuration.Load(); SaberAssetLoader.Load(); SettingsUI.CreateMenu(); AddEvents(); Logger.log.Info($"{PluginName} v.{PluginVersion} has started."); }
private void Unload() { RemoveEvents(); CustomNotesPatches.RemoveHarmonyPatches(); ScoreUtility.Cleanup(); Configuration.Save(); NoteAssetLoader.Clear(); SettingsUI.RemoveMenu(); }
private static void CreateSettingsUI() { var subMenu = SettingsUI.CreateSubMenu("VideoPlayer"); var showVideoSetting = subMenu.AddBool("Show Video"); showVideoSetting.GetValue += delegate { return(ScreenManager.showVideo); }; showVideoSetting.SetValue += delegate(bool value) { ScreenManager.showVideo = value; ModPrefs.SetBool(Plugin.PluginName, "ShowVideo", ScreenManager.showVideo); }; var placementSetting = subMenu.AddList("Screen Position", VideoPlacementSetting.Modes()); placementSetting.GetValue += delegate { return((float)ScreenManager.Instance.placement); }; placementSetting.SetValue += delegate(float value) { ScreenManager.Instance.SetPlacement((VideoPlacement)value); ModPrefs.SetInt(Plugin.PluginName, "ScreenPositionMode", (int)ScreenManager.Instance.placement); }; placementSetting.FormatValue += delegate(float value) { return(VideoPlacementSetting.Name((VideoPlacement)value)); }; var qualitySetting = subMenu.AddList("Video Download Quality", VideoQualitySetting.Modes()); qualitySetting.GetValue += delegate { return((float)YouTubeDownloader.Instance.quality); }; qualitySetting.SetValue += delegate(float value) { YouTubeDownloader.Instance.quality = (VideoQuality)value; ModPrefs.SetInt(Plugin.PluginName, "VideoDownloadQuality", (int)YouTubeDownloader.Instance.quality); }; qualitySetting.FormatValue += delegate(float value) { return(VideoQualitySetting.Name((VideoQuality)value)); }; var autoDownloadSetting = subMenu.AddBool("Auto Download"); autoDownloadSetting.GetValue += delegate { return(VideoLoader.Instance.autoDownload); }; autoDownloadSetting.SetValue += delegate(bool value) { VideoLoader.Instance.autoDownload = value; ModPrefs.SetBool(Plugin.PluginName, "AutoDownload", ScreenManager.showVideo); }; }
public void Show() { if (SettingsUi == null) { SettingsUi = new SettingsUI(_cairoApplication, this, _shellManager, _updateService, _appGrabber, _themeService); } SettingsUi.Show(); SettingsUi.Activate(); }
public void SceneManagerOnActiveSceneChanged(Scene arg0, Scene scene) { if (scene.buildIndex == MainScene) { var subMenu = SettingsUI.CreateSubMenu("TestPluginSubMenu"); // Passing in the sub menu label var energyBar = subMenu.AddBool("testBool"); // Passing in the option label energyBar.GetValue += delegate { return(testBool); }; // Delegate returning the bool for display energyBar.SetValue += delegate(bool value) { testBool = value; }; // Delegate to set the bool when Apply/Ok is pressed } }
private void Start() { current = this; LoadSettings(); slider_music.value = settings.volume_music; slider_sfx.value = settings.volume_sfx; toggle_controls.isOn = settings.useNewControls; }
private void ShowSettings(object sender, EventArgs e) { // Show Settings if (!_SettingsHowing) { _UiSettings = new SettingsUI(_KeyUi.Height, _KeyUi.Width); _UiSettings.Closing += (o, ex) => { _SettingsHowing = false; }; _UiSettings.ShowDialog(); } }
public static void OnLoad() { var menu = SettingsUI.CreateSubMenu("Song Request Manager"); var AutopickFirstSong = menu.AddBool("Autopick First Song", "Automatically pick the first song with sr!"); AutopickFirstSong.SetValue += (requests) => { RequestBotConfig.Instance.AutopickFirstSong = requests; }; AutopickFirstSong.GetValue += () => { return(RequestBotConfig.Instance.AutopickFirstSong); }; var MiniumSongRating = menu.AddSlider("Minimum rating", "Minimum allowed song rating", 0, 100, 0.5f, false); MiniumSongRating.SetValue += (scale) => { RequestBotConfig.Instance.LowestAllowedRating = scale; }; MiniumSongRating.GetValue += () => { return(RequestBotConfig.Instance.LowestAllowedRating); }; var MaximumAllowedSongLength = menu.AddSlider("Maximum Song Length", "Longest allowed song length in minutes", 0, 999, 1.0f, false); MaximumAllowedSongLength.SetValue += (scale) => { RequestBotConfig.Instance.MaximumSongLength = scale; }; MaximumAllowedSongLength.GetValue += () => { return(RequestBotConfig.Instance.MaximumSongLength); }; var MinimumNJS = menu.AddSlider("Minimum NJS allowed", "Disallow songs below a certain NJS", 0, 50, 1.0f, false); MinimumNJS.SetValue += (scale) => { RequestBotConfig.Instance.MinimumNJS = scale; }; MinimumNJS.GetValue += () => { return(RequestBotConfig.Instance.MinimumNJS); }; var TTSSupport = menu.AddBool("TTS Support", "Add ! to all command outputs for TTS Filtering"); TTSSupport.SetValue += (requests) => { RequestBotConfig.Instance.BotPrefix = requests ? "! " : ""; }; TTSSupport.GetValue += () => { return(RequestBotConfig.Instance.BotPrefix != ""); }; var UserRequestLimit = menu.AddSlider("User Request limit", "Maximum requests in queue at one time", 0, 10, 1f, true); UserRequestLimit.SetValue += (scale) => { RequestBotConfig.Instance.UserRequestLimit = (int )scale; }; UserRequestLimit.GetValue += () => { return(RequestBotConfig.Instance.UserRequestLimit); }; var SubRequestLimit = menu.AddSlider("Sub Request limit", "Maximum requests in queue at one time", 0, 10, 1f, true); SubRequestLimit.SetValue += (scale) => { RequestBotConfig.Instance.SubRequestLimit = (int)scale; }; SubRequestLimit.GetValue += () => { return(RequestBotConfig.Instance.SubRequestLimit); }; var ModRequestLimit = menu.AddSlider("Moderator Request limit", "Maximum requests in queue at one time", 0, 100, 1f, true); ModRequestLimit.SetValue += (scale) => { RequestBotConfig.Instance.ModRequestLimit = (int)scale; }; ModRequestLimit.GetValue += () => { return(RequestBotConfig.Instance.ModRequestLimit); }; var VIPBonus = menu.AddSlider("VIP Request bonus", "Additional requests allowed in queue", 0, 10, 1f, true); VIPBonus.SetValue += (scale) => { RequestBotConfig.Instance.VipBonusRequests = (int)scale; }; VIPBonus.GetValue += () => { return(RequestBotConfig.Instance.VipBonusRequests); }; var ModeratorRights = menu.AddBool("Full moderator rights", "Allow moderators access to ALL bot commands. Do you trust your mods?"); ModeratorRights.SetValue += (requests) => { RequestBotConfig.Instance.ModFullRights = requests; }; ModeratorRights.GetValue += () => { return(RequestBotConfig.Instance.ModFullRights); }; }
protected void OnPreferencesActionActivated(object sender, EventArgs e) { SettingsUI s = new SettingsUI(); s.Show(); }
protected void InitAudioManager() { loopSounds = new Dictionary<string, GameObject>(); PoolsManager.RegisterPool(audioPool); //register pool if you want to use extention method Despawn audioPool.Initialize(); settingsUI = (SettingsUI)GameObject.FindObjectOfType(typeof(SettingsUI)); musicVolume = PlayerPrefsManager.GetMusicVolume(); sfxVolume = PlayerPrefsManager.GetSFXVolume(); }