/// <inheritdoc/> public override void OnSettingsGUI() { // Glitch flip Settings.DisableGlitchFlip = GUILayout.Toggle( Settings.DisableGlitchFlip, TweakStrings.Get( TranslationKeys.Miscellaneous.GLITCH_FLIP, RDString.GetEnumValue(Filter.Glitch))); // Editor zoom Settings.DisableEditorZoom = GUILayout.Toggle( Settings.DisableEditorZoom, TweakStrings.Get(TranslationKeys.Miscellaneous.EDITOR_ZOOM)); // Hitsound volume if (Settings.SetHitsoundVolume = GUILayout.Toggle( Settings.SetHitsoundVolume, TweakStrings.Get(TranslationKeys.Miscellaneous.SET_HITSOUND_VOLUME))) { bool valueChanged = Settings.HitsoundVolumeScale * 1 == ( Settings.HitsoundVolumeScale = Mathf.Min( MoreGUILayout.NamedSlider( TweakStrings.Get(TranslationKeys.Miscellaneous.CURRENT_HITSOUND_VOLUME), Settings.HitsoundVolumeScale * 100, 0, 100.0001f, 200f, roundNearest: 0.001f, valueFormat: "{0:0.#}%") / 100, 1)); if (valueChanged) { Settings.UpdateVolume(); } } }
/// <inheritdoc/> public override void OnSettingsGUI() { // Filter if (Settings.DisableFilter = GUILayout.Toggle( Settings.DisableFilter, TweakStrings.Get( TranslationKeys.DisableEffects.FILTER, RDString.GetEnumValue(Filter.Grayscale), RDString.GetEnumValue(Filter.Arcade)))) { /* * // Enable specific filter * if (GUILayout.Button(TweakStrings.Get(""))) * { * // * } * * // Disable specific filter * if (GUILayout.Button(TweakStrings.Get(""))) * { * // * } */ } // Bloom Settings.DisableBloom = GUILayout.Toggle( Settings.DisableBloom, TweakStrings.Get(TranslationKeys.DisableEffects.BLOOM)); // Flash Settings.DisableFlash = GUILayout.Toggle( Settings.DisableFlash, TweakStrings.Get(TranslationKeys.DisableEffects.FLASH)); // Hall of mirrors Settings.DisableHallOfMirrors = GUILayout.Toggle( Settings.DisableHallOfMirrors, TweakStrings.Get( TranslationKeys.DisableEffects.HALL_OF_MIRRORS, RDString.Get("editor." + LevelEventType.HallOfMirrors))); // Screen shake Settings.DisableScreenShake = GUILayout.Toggle( Settings.DisableScreenShake, TweakStrings.Get(TranslationKeys.DisableEffects.SCREEN_SHAKE)); // Move track string trackMaxFormat = Settings.MoveTrackMax > DisableEffectsSettings.MOVE_TRACK_UPPER_BOUND ? TweakStrings.Get(TranslationKeys.DisableEffects.TILE_MOVEMENT_UNLIMITED) : "{0}"; float newTrackMax = MoreGUILayout.NamedSlider( TweakStrings.Get(TranslationKeys.DisableEffects.TILE_MOVEMENT_MAX), Settings.MoveTrackMax, 5, DisableEffectsSettings.MOVE_TRACK_UPPER_BOUND + 5, 300f, roundNearest: 5, valueFormat: trackMaxFormat); Settings.MoveTrackMax = Mathf.RoundToInt(newTrackMax); }
/// <inheritdoc/> public override void OnSettingsGUI() { Settings.ShowHitErrorMeter = GUILayout.Toggle( Settings.ShowHitErrorMeter, TweakStrings.Get(TranslationKeys.JudgmentVisuals.SHOW_HIT_ERROR_METER)); if (Settings.ShowHitErrorMeter) { MoreGUILayout.BeginIndent(); // Scale slider float newScale = MoreGUILayout.NamedSlider( TweakStrings.Get(TranslationKeys.JudgmentVisuals.ERROR_METER_SCALE), Settings.ErrorMeterScale, 0.25f, 4f, 200f, roundNearest: 0.125f, valueFormat: "{0}x"); if (newScale != Settings.ErrorMeterScale) { Settings.ErrorMeterScale = newScale; HitErrorMeter.Instance.UpdateLayout(); } // X position slider float newX = MoreGUILayout.NamedSlider( TweakStrings.Get(TranslationKeys.JudgmentVisuals.ERROR_METER_X_POS), Settings.ErrorMeterXPos, 0f, 1f, 300f, roundNearest: 0.01f, valueFormat: "{0:0.##}"); if (newX != Settings.ErrorMeterXPos) { Settings.ErrorMeterXPos = newX; HitErrorMeter.Instance.UpdateLayout(); } // Y position slider float newY = MoreGUILayout.NamedSlider( TweakStrings.Get(TranslationKeys.JudgmentVisuals.ERROR_METER_Y_POS), Settings.ErrorMeterYPos, 0f, 1f, 300f, roundNearest: 0.01f, valueFormat: "{0:0.##}"); if (newY != Settings.ErrorMeterYPos) { Settings.ErrorMeterYPos = newY; HitErrorMeter.Instance.UpdateLayout(); } // Tick life slider Settings.ErrorMeterTickLife = MoreGUILayout.NamedSlider( TweakStrings.Get(TranslationKeys.JudgmentVisuals.ERROR_METER_TICK_LIFE), Settings.ErrorMeterTickLife, 1f, 10f, 200f, roundNearest: 1f, valueFormat: TweakStrings.Get( TranslationKeys.JudgmentVisuals.ERROR_METER_TICK_SECONDS)); // Sensitivity slider GUILayout.BeginHorizontal(); GUILayout.Label( TweakStrings.Get(TranslationKeys.JudgmentVisuals.ERROR_METER_SENSITIVITY)); GUILayout.Space(16f); GUILayout.Label( TweakStrings.Get(TranslationKeys.JudgmentVisuals.ERROR_METER_MORE_STABLE)); GUILayout.Space(8f); float newSens = GUILayout.HorizontalSlider( Settings.ErrorMeterSensitivity, 0.05f, 0.5f, GUILayout.Width(200f)); newSens *= 20; newSens = Mathf.Round(newSens); newSens /= 20; if (Settings.ErrorMeterSensitivity != newSens) { Settings.ErrorMeterSensitivity = newSens; } GUILayout.Space(8f); GUILayout.Label( TweakStrings.Get(TranslationKeys.JudgmentVisuals.ERROR_METER_LESS_STABLE)); GUILayout.Space(8f); GUILayout.Label($"({Settings.ErrorMeterSensitivity})"); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); MoreGUILayout.EndIndent(); } // Hide perfects Settings.HidePerfects = GUILayout.Toggle( Settings.HidePerfects, TweakStrings.Get( TranslationKeys.JudgmentVisuals.HIDE_PERFECTS, RDString.Get("HitMargin." + HitMargin.Perfect))); }