コード例 #1
0
        /// <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();
                }
            }
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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)));
        }