public void SceneManagerOnActiveSceneChanged(Scene arg0, Scene scene) { try { //if (SettingsUI.isMenuScene(scene)) // { // if (model == null) // { // model = Resources.FindObjectsOfTypeAll<MainSettingsModel>().FirstOrDefault(); // rumble = model.controllersRumbleEnabled; // } // model.controllersRumbleEnabled = rumble; // } if (SettingsUI.isGameScene(scene) && Settings.OneColour && TweakManager.IsPartyMode()) { var loader = SceneEvents.GetSceneLoader(); if (loader != null) { loader.loadingDidFinishEvent += LoadingDidFinishEvent; } } } catch (Exception e) { Console.WriteLine("Tweaks (OneColour) done f****d up: " + e); } }
public static void UpdateBGVolume() { if (player != null && SettingsUI.isMenuScene(SceneManager.GetActiveScene())) { float newVolume = normalVolume * Settings.MenuBGVolume; ReflectionUtil.SetPrivateField(player, "_ambientVolumeScale", newVolume); player.CrossfadeTo(ReflectionUtil.GetPrivateField <AudioClip>(player, "_defaultAudioClip"), 0f, -1f, newVolume); } }
public void OnApplicationStart() { if (_init) { return; } _init = true; Settings.Load(); SettingsUI.OnLoad(); TweakManager.OnLoad(); }
public void SceneManagerOnActiveSceneChanged(Scene arg0, Scene scene) { try { if (Settings.MoveEnergyBar && SettingsUI.isGameScene(scene)) { var loader = SceneEvents.GetSceneLoader(); if (loader != null) { loader.loadingDidFinishEvent += LoadingDidFinishEvent; } } } catch (Exception e) { Console.WriteLine("Tweaks (EnergyBar) done f****d up: " + e); } }
public void SceneManagerOnActiveSceneChanged(Scene arg0, Scene scene) { try { //Console.WriteLine("Active: " + scene.name); if (SettingsUI.isMenuScene(scene)) { _mainMenuViewController = Resources.FindObjectsOfTypeAll <MainMenuViewController>().First(); var _menuMasterViewController = Resources.FindObjectsOfTypeAll <StandardLevelSelectionFlowCoordinator>().First(); prompt = ReflectionUtil.GetPrivateField <SimpleDialogPromptViewController>(_menuMasterViewController, "_simpleDialogPromptViewController"); CreateUI(); } }catch (Exception e) { Console.WriteLine("Tweaks (Manager) done f****d up: " + e); } }
public void SceneManagerOnActiveSceneChanged(Scene arg0, Scene scene) { try { if (SettingsUI.isGameScene(scene)) { if (TweakManager.IsPartyMode() && Settings.OverrideJumpSpeed) { var loader = SceneEvents.GetSceneLoader(); if (loader != null) { loader.loadingDidFinishEvent += LoadingDidFinishEvent; } } } } catch (Exception e) { Console.WriteLine("Tweaks (SongDataModifer) done f****d up: " + e); } }
private void SceneManagerOnActiveSceneChanged(Scene arg0, Scene scene) { try { if (SettingsUI.isMenuScene(scene)) { player = Resources.FindObjectsOfTypeAll <SongPreviewPlayer>().FirstOrDefault(); if (normalVolume == 0) { normalVolume = ReflectionUtil.GetPrivateField <float>(player, "_ambientVolumeScale"); } UpdateBGVolume(); } else { player = null; } } catch (Exception e) { Console.WriteLine("Tweaks (MenuMusic) done f****d up: " + e); } }
public void Update() { if (SettingsUI.isMenuScene(SceneManager.GetActiveScene())) { if (_mainMenuViewController.childViewController == null && (Input.GetAxis("TriggerLeftHand") > 0.75f) && (Input.GetAxis("TriggerRightHand") > 0.75f)) { carTime += Time.deltaTime; if (carTime > 5.0f) { carTime = 0; prompt.didFinishEvent += CarEvent; prompt.Init("Flying Cars", "Turn Flying Cars?", "ON", "OFF"); _mainMenuViewController.PresentModalViewController(prompt, null, false); } } else { carTime = 0; } } }
public void SceneManagerOnActiveSceneChanged(Scene arg0, Scene scene) { try { if (SettingsUI.isMenuScene(scene) && ClockCanvas == null) { ClockCanvas = new GameObject(); DontDestroyOnLoad(ClockCanvas); ClockCanvas.AddComponent <Canvas>(); ClockCanvas.name = "Clock Canvas"; ClockCanvas.transform.position = timePos; ClockCanvas.transform.rotation = timeRot; ClockCanvas.transform.localScale = new Vector3(0.02f, 0.02f, 1.0f); var textGO = new GameObject(); textGO.transform.SetParent(ClockCanvas.transform); textGO.transform.localPosition = Vector3.zero; textGO.transform.localRotation = Quaternion.identity; textGO.transform.localScale = Vector3.one; text = textGO.AddComponent <TextMeshProUGUI>(); text.name = "Clock Text"; text.alignment = TextAlignmentOptions.Center; text.fontSize = timeSize; text.text = ""; UpdateClock(); ClockCanvas.SetActive(Settings.ShowClock); } } catch (Exception e) { Console.WriteLine("Tweaks (Clock) done f****d up: " + e); } }
private void CreateUI() { Plugin.Log("TweakManager creating the BSTweaks UI", Plugin.LogLevel.DebugOnly); // Interface Tweaks [1] var subMenuInterfaceTweaks1 = SettingsUI.CreateSubMenu("Interface Tweaks [1]"); var energyBar = subMenuInterfaceTweaks1.AddBool("Move Energy Bar"); energyBar.GetValue += delegate { return(Settings.MoveEnergyBar); }; energyBar.SetValue += delegate(bool value) { Settings.MoveEnergyBar = value; }; var moveScore = subMenuInterfaceTweaks1.AddBool("Move Score"); moveScore.GetValue += delegate { return(Settings.MoveScore); }; moveScore.SetValue += delegate(bool value) { Settings.MoveScore = value; }; var showClock = subMenuInterfaceTweaks1.AddBool("Show Clock"); showClock.GetValue += delegate { return(Settings.ShowClock); }; showClock.SetValue += delegate(bool value) { Settings.ShowClock = value; }; var hideClockIngame = subMenuInterfaceTweaks1.AddBool("Hide Clock While Playing"); hideClockIngame.GetValue += delegate { return(Settings.HideClockIngame); }; hideClockIngame.SetValue += delegate(bool value) { Settings.HideClockIngame = value; }; var clock24hr = subMenuInterfaceTweaks1.AddBool("24hr Clock"); clock24hr.GetValue += delegate { return(Settings.Use24hrClock); }; clock24hr.SetValue += delegate(bool value) { Settings.Use24hrClock = value; InGameClock.UpdateClock(); }; // Interface Tweaks [2] var subMenuInterfaceTweaks2 = SettingsUI.CreateSubMenu("Interface Tweaks [2]"); var showTimeSpentClock = subMenuInterfaceTweaks2.AddBool("Show Time Spent"); showTimeSpentClock.GetValue += delegate { return(Settings.ShowTimeSpentClock); }; showTimeSpentClock.SetValue += delegate(bool value) { Settings.ShowTimeSpentClock = value; }; var showIngameTimeSpentClock = subMenuInterfaceTweaks2.AddBool("Show Ingame Time Spent"); showIngameTimeSpentClock.GetValue += delegate { return(Settings.ShowIngameTimeSpentClock); }; showIngameTimeSpentClock.SetValue += delegate(bool value) { Settings.ShowIngameTimeSpentClock = value; }; var hideTimeSpentClockIngame = subMenuInterfaceTweaks2.AddBool("Hide Time Spent While Playing"); hideTimeSpentClockIngame.GetValue += delegate { return(Settings.HideTimeSpentClockIngame); }; hideTimeSpentClockIngame.SetValue += delegate(bool value) { Settings.HideTimeSpentClockIngame = value; }; var hideIngameTimeSpentClockIngame = subMenuInterfaceTweaks2.AddBool("Hide Ingame Time Spent While Playing"); hideIngameTimeSpentClockIngame.GetValue += delegate { return(Settings.HideIngameTimeSpentClockIngame); }; hideIngameTimeSpentClockIngame.SetValue += delegate(bool value) { Settings.HideIngameTimeSpentClockIngame = value; }; // Interface Tweaks [3] var subMenuInterfaceTweaks3 = SettingsUI.CreateSubMenu("Interface Tweaks [3]"); var enableFireworksTweaks = subMenuInterfaceTweaks3.AddBool("Fireworks"); enableFireworksTweaks.EnabledText = "ON"; enableFireworksTweaks.DisabledText = "OFF"; enableFireworksTweaks.GetValue += delegate { return(Settings.FireworksEnable); }; enableFireworksTweaks.SetValue += delegate(bool value) { Settings.FireworksEnable = value; }; var enableRippleEffect = subMenuInterfaceTweaks3.AddBool("Click ripple effect"); enableRippleEffect.EnabledText = "ON"; enableRippleEffect.DisabledText = "OFF"; enableRippleEffect.GetValue += delegate { return(Settings.ClickShockwaveEnable); }; enableRippleEffect.SetValue += delegate(bool value) { Settings.ClickShockwaveEnable = value; }; var showFailsCounter = subMenuInterfaceTweaks3.AddBool("Fails counter", "If the fails counter number should be visible on the stats screen."); showFailsCounter.EnabledText = "VISIBLE"; showFailsCounter.DisabledText = "HIDDEN"; showFailsCounter.GetValue += delegate { return(Settings.ShowFailsCounterEnable); }; showFailsCounter.SetValue += delegate(bool value) { Settings.ShowFailsCounterEnable = value; }; var hideFailsReplacementText = subMenuInterfaceTweaks3.AddString("Replacement Text", "The text to replace the fails counter with."); hideFailsReplacementText.GetValue += delegate { return(Settings.FailsCounterReplacementText); }; hideFailsReplacementText.SetValue += delegate(string value) { Settings.FailsCounterReplacementText = value; }; // Volume Tweaks var subMenuVolumeTweaks = SettingsUI.CreateSubMenu("Volume Tweaks"); var volumeComment = subMenuVolumeTweaks.AddBool("<align=\"center\"><b>The default value is <u>underlined</u>!</b></align>"); volumeComment.GetValue += delegate { return(false); }; volumeComment.SetValue += delegate(bool value) { }; // Hack to convert the boolean toggle into a text only comment // This disables the arrows and the value display try { // Note: // To get objects from inherited class through reflection, use object.GetType().BaseType // Here I do it twice to go up two levels in the heiarchy var buttonToDisable = volumeComment.GetType().BaseType.BaseType.GetField("_decButton", BindingFlags.NonPublic | BindingFlags.Instance); var decButton = (MonoBehaviour)buttonToDisable.GetValue(volumeComment); buttonToDisable = volumeComment.GetType().BaseType.BaseType.GetField("_incButton", BindingFlags.NonPublic | BindingFlags.Instance); var incButton = (MonoBehaviour)buttonToDisable.GetValue(volumeComment); decButton.gameObject.SetActive(false); incButton.gameObject.SetActive(false); var textToDisable = volumeComment.GetType().BaseType.BaseType.GetField("_text", BindingFlags.NonPublic | BindingFlags.Instance); var uselessText = (MonoBehaviour)textToDisable.GetValue(volumeComment); uselessText.gameObject.SetActive(false); } catch (Exception e) { Console.WriteLine("Error trying to add comment to volume tweaks settings page:" + e); } var volumeComment2 = subMenuVolumeTweaks.AddBool("<align=\"center\"><b><color=\"red\">Increasing past the default may cause audio issues!</color></b></align>", "These sound effects are loud. When the volume is increased, the audio spam seems to be overloading the audio system, causing audio dropouts, and even lag. It takes a LOT of stacking to make this happen, so it only happens on certain maps."); volumeComment2.GetValue += delegate { return(false); }; volumeComment2.SetValue += delegate(bool value) { }; // Hack to convert the boolean toggle into a text only comment // This disables the arrows and the value display try { // Note: // To get objects from inherited class through reflection, use object.GetType().BaseType // Here I do it twice to go up two levels in the heiarchy var buttonToDisable = volumeComment2.GetType().BaseType.BaseType.GetField("_decButton", BindingFlags.NonPublic | BindingFlags.Instance); var decButton = (MonoBehaviour)buttonToDisable.GetValue(volumeComment2); buttonToDisable = volumeComment2.GetType().BaseType.BaseType.GetField("_incButton", BindingFlags.NonPublic | BindingFlags.Instance); var incButton = (MonoBehaviour)buttonToDisable.GetValue(volumeComment2); decButton.gameObject.SetActive(false); incButton.gameObject.SetActive(false); var textToDisable = volumeComment2.GetType().BaseType.BaseType.GetField("_text", BindingFlags.NonPublic | BindingFlags.Instance); var uselessText = (MonoBehaviour)textToDisable.GetValue(volumeComment2); uselessText.gameObject.SetActive(false); } catch (Exception e) { Console.WriteLine("Error trying to add comment to volume tweaks settings page:" + e); } var noteHit = subMenuVolumeTweaks.AddList("Note Hit Volume", incrementValues(), "The volume for the note cut sound effect."); noteHit.GetValue += delegate { return(Settings.NoteHitVolume); }; noteHit.SetValue += delegate(float value) { Settings.NoteHitVolume = value; }; noteHit.FormatValue += delegate(float value) { if (value == 0.5f) { return(string.Format("<u>{0}%</u>", Mathf.Floor(value * 100))); } return(string.Format("{0}%", Mathf.Floor(value * 100))); }; var noteMiss = subMenuVolumeTweaks.AddList("Note Miss Volume", incrementValues(), "The volume of the miss / bad cut sound effect."); noteMiss.GetValue += delegate { return(Settings.NoteMissVolume); }; noteMiss.SetValue += delegate(float value) { Settings.NoteMissVolume = value; }; noteMiss.FormatValue += delegate(float value) { if (value < 0.91f && value > 0.89f) { return(string.Format("<u>{0}%</u>", Mathf.Floor(value * 100))); } return(string.Format("{0}%", Mathf.Floor(value * 100))); }; var musicVol = subMenuVolumeTweaks.AddList("Music Volume", incrementValues(), "The volume of the song you play."); musicVol.GetValue += delegate { return(Settings.MusicVolume); }; musicVol.SetValue += delegate(float value) { Settings.MusicVolume = value; }; musicVol.FormatValue += delegate(float value) { if (value == 1f) { return(string.Format("<u>{0}%</u>", Mathf.Floor(value * 100))); } return(string.Format("{0}%", Mathf.Floor(value * 100))); }; var previewVol = subMenuVolumeTweaks.AddList("Preview Volume", incrementValues(), "The volume of the beatmap preview in the songs list."); previewVol.GetValue += delegate { return(Settings.PreviewVolume); }; previewVol.SetValue += delegate(float value) { Settings.PreviewVolume = value; }; previewVol.FormatValue += delegate(float value) { if (value == 1f) { return(string.Format("<u>{0}%</u>", Mathf.Floor(value * 100))); } return(string.Format("{0}%", Mathf.Floor(value * 100))); }; var menuBG = subMenuVolumeTweaks.AddList("Menu BG Music Volume", incrementValues(), "The volume for the menu background music."); menuBG.GetValue += delegate { return(Settings.MenuBGVolume); }; menuBG.SetValue += delegate(float value) { Settings.MenuBGVolume = value; }; menuBG.FormatValue += delegate(float value) { if (value == 1f) { return(string.Format("<u>{0}%</u>", Mathf.Floor(value * 100))); } return(string.Format("{0}%", Mathf.Floor(value * 100))); }; // Party Mode Tweaks var subMenuPartyModeTweaks = SettingsUI.CreateSubMenu("Party Mode Tweaks"); var noArrows = subMenuPartyModeTweaks.AddBool("No Arrows"); noArrows.GetValue += delegate { return(Settings.NoArrows); }; noArrows.SetValue += delegate(bool value) { Settings.NoArrows = value; }; var oneColour = subMenuPartyModeTweaks.AddBool("One Color"); oneColour.GetValue += delegate { return(Settings.OneColour); }; oneColour.SetValue += delegate(bool value) { Settings.OneColour = value; }; var removeBombs = subMenuPartyModeTweaks.AddBool("Remove Bombs"); removeBombs.GetValue += delegate { return(Settings.RemoveBombs); }; removeBombs.SetValue += delegate(bool value) { Settings.RemoveBombs = value; }; var overrideNoteSpeed = subMenuPartyModeTweaks.AddBool("Override Note Speed"); overrideNoteSpeed.GetValue += delegate { return(Settings.OverrideJumpSpeed); }; overrideNoteSpeed.SetValue += delegate(bool value) { Settings.OverrideJumpSpeed = value; }; var noteSpeed = subMenuPartyModeTweaks.AddList("Note Speed", noteSpeeds()); noteSpeed.GetValue += delegate { return(Settings.NoteJumpSpeed); }; noteSpeed.SetValue += delegate(float value) { Settings.NoteJumpSpeed = value; }; noteSpeed.FormatValue += delegate(float value) { return(string.Format("{0:0}", value)); }; //if (HiddenNotesInstalled) //{ // var tweaks5 = SettingsUI.CreateSubMenu("Hidden Notes"); // tweaks5.AddToggleSetting<HiddenNotesSettingsController>("Hidden Notes"); //} }
private void CreateUI() { var subMenu2 = SettingsUI.CreateSubMenu("Interface Tweaks"); var energyBar = subMenu2.AddBool("Move Energy Bar"); energyBar.GetValue += delegate { return(Settings.MoveEnergyBar); }; energyBar.SetValue += delegate(bool value) { Settings.MoveEnergyBar = value; }; var moveScore = subMenu2.AddBool("Move Score"); moveScore.GetValue += delegate { return(Settings.MoveScore); }; moveScore.SetValue += delegate(bool value) { Settings.MoveScore = value; }; var showClock = subMenu2.AddBool("Show Clock"); showClock.GetValue += delegate { return(Settings.ShowClock); }; showClock.SetValue += delegate(bool value) { Settings.ShowClock = value; }; var clock24hr = subMenu2.AddBool("24hr Clock"); clock24hr.GetValue += delegate { return(Settings.Use24hrClock); }; clock24hr.SetValue += delegate(bool value) { Settings.Use24hrClock = value; InGameClock.UpdateClock(); }; var subMenu1 = SettingsUI.CreateSubMenu("Volume Tweaks"); var noteHit = subMenu1.AddList("Note Hit Volume", volumeValues()); noteHit.GetValue += delegate { return(Settings.NoteHitVolume); }; noteHit.SetValue += delegate(float value) { Settings.NoteHitVolume = value; }; noteHit.FormatValue += delegate(float value) { return(string.Format("{0:0.0}", value)); }; var noteMiss = subMenu1.AddList("Note Miss Volume", volumeValues()); noteMiss.GetValue += delegate { return(Settings.NoteMissVolume); }; noteMiss.SetValue += delegate(float value) { Settings.NoteMissVolume = value; }; noteMiss.FormatValue += delegate(float value) { return(string.Format("{0:0.0}", value)); }; var menuBG = subMenu1.AddList("Menu BG Music Volume", volumeValues()); menuBG.GetValue += delegate { return(Settings.MenuBGVolume); }; menuBG.SetValue += delegate(float value) { Settings.MenuBGVolume = value; }; menuBG.FormatValue += delegate(float value) { return(string.Format("{0:0.0}", value)); }; var subMenu3 = SettingsUI.CreateSubMenu("Party Mode Tweaks"); var noArrows = subMenu3.AddBool("No Arrows"); noArrows.GetValue += delegate { return(Settings.NoArrows); }; noArrows.SetValue += delegate(bool value) { Settings.NoArrows = value; }; var oneColour = subMenu3.AddBool("One Color"); oneColour.GetValue += delegate { return(Settings.OneColour); }; oneColour.SetValue += delegate(bool value) { Settings.OneColour = value; }; var removeBombs = subMenu3.AddBool("Remove Bombs"); removeBombs.GetValue += delegate { return(Settings.RemoveBombs); }; removeBombs.SetValue += delegate(bool value) { Settings.RemoveBombs = value; }; var overrideNoteSpeed = subMenu3.AddBool("Override Note Speed"); overrideNoteSpeed.GetValue += delegate { return(Settings.OverrideJumpSpeed); }; overrideNoteSpeed.SetValue += delegate(bool value) { Settings.OverrideJumpSpeed = value; }; var noteSpeed = subMenu3.AddList("Note Speed", noteSpeeds()); noteSpeed.GetValue += delegate { return(Settings.NoteJumpSpeed); }; noteSpeed.SetValue += delegate(float value) { Settings.NoteJumpSpeed = value; }; noteSpeed.FormatValue += delegate(float value) { return(string.Format("{0:0}", value)); }; //if (HiddenNotesInstalled) //{ // var tweaks5 = SettingsUI.CreateSubMenu("Hidden Notes"); // tweaks5.AddToggleSetting<HiddenNotesSettingsController>("Hidden Notes"); //} }