Exemplo n.º 1
0
        public void ResetValues()
        {
            if (!_isInitialized)
            {
                return;
            }

            _oneSaberStagingValue          = _oneSaberAppliedValue;
            _lightshowStagingValue         = _lightshowAppliedValue;
            _mappingExtensionsStagingValue = _mappingExtensionsAppliedValue;

            RefreshUI();
        }
Exemplo n.º 2
0
        public void SetDefaultValues()
        {
            if (!_isInitialized)
            {
                return;
            }

            _oneSaberStagingValue          = false;
            _lightshowStagingValue         = false;
            _mappingExtensionsStagingValue = SongRequirement.Off;

            RefreshUI();
        }
Exemplo n.º 3
0
        public void Init()
        {
            if (_isInitialized)
            {
                return;
            }

            // title text
            var text = BeatSaberUI.CreateText(null, "Other Filters", Vector2.zero, Vector2.zero);

            text.fontSize = 5.5f;
            var rt = text.rectTransform;

            rt.anchorMin = new Vector2(0f, 1f);
            rt.anchorMax = rt.anchorMin;
            rt.pivot     = rt.anchorMin;

            Controls[0] = new FilterControl(text.gameObject, new Vector2(0f, 0.95f), new Vector2(0f, 0.95f), new Vector2(0f, 1f), new Vector2(50f, 6f), Vector2.zero);

            // one saber view controller
            _oneSaberViewController           = Utilities.CreateBoolViewController("Has One Saber Mode", "Filters out songs that don't have at least one saber map");
            _oneSaberViewController.GetValue += () => _oneSaberStagingValue;
            _oneSaberViewController.SetValue += delegate(bool value)
            {
                _oneSaberStagingValue = value;
                SettingChanged?.Invoke();
            };
            _oneSaberViewController.Init();
            _oneSaberViewController.applyImmediately = true;

            Utilities.CreateHorizontalDivider(_oneSaberViewController.transform);
            Utilities.MoveIncDecViewControllerElements(_oneSaberViewController);

            Controls[1] = new FilterControl(_oneSaberViewController.gameObject, new Vector2(0f, 0.95f), new Vector2(1f, 0.95f), new Vector2(0.5f, 1f), new Vector2(0f, 12f), new Vector2(0f, -8f));

            // lightshow view controller
            _lightshowViewController           = Utilities.CreateBoolViewController("Has Lightshow Mode", "Filters out songs that don't have a lightshow map");
            _lightshowViewController.GetValue += () => _lightshowStagingValue;
            _lightshowViewController.SetValue += delegate(bool value)
            {
                _lightshowStagingValue = value;
                SettingChanged?.Invoke();
            };
            _lightshowViewController.Init();
            _lightshowViewController.applyImmediately = true;

            Utilities.CreateHorizontalDivider(_lightshowViewController.transform);
            Utilities.MoveIncDecViewControllerElements(_lightshowViewController);

            Controls[2] = new FilterControl(_lightshowViewController.gameObject, new Vector2(0f, 0.95f), new Vector2(1f, 0.95f), new Vector2(0.5f, 1f), new Vector2(0f, 12f), new Vector2(0f, -20f));

            // mapping extensions view controller
            var values = Enumerable.Range(0, 3).Select(x => (float)x).ToArray();

            _mappingExtensionsViewController = Utilities.CreateListViewController("Requires Mapping Extensions", values, "Filters out songs that don't require the 'Mapping Extensions' mod");
            _mappingExtensionsViewController.GetTextForValue += delegate(float value)
            {
                if (value == (float)SongRequirement.Required)
                {
                    return("<size=90%>Required</size>");
                }
                else if (value == (float)SongRequirement.NotRequired)
                {
                    return("<size=70%>Not Required</size>");
                }
                else
                {
                    return("OFF");
                }
            };
            _mappingExtensionsViewController.GetValue += () => (float)_mappingExtensionsStagingValue;
            _mappingExtensionsViewController.SetValue += delegate(float value)
            {
                _mappingExtensionsStagingValue = (SongRequirement)value;
                SettingChanged?.Invoke();
            };
            _mappingExtensionsViewController.Init();
            _mappingExtensionsViewController.applyImmediately = true;

            Utilities.MoveIncDecViewControllerElements(_mappingExtensionsViewController);

            Controls[3] = new FilterControl(_mappingExtensionsViewController.gameObject, new Vector2(0f, 0.95f), new Vector2(1f, 0.95f), new Vector2(0.5f, 1f), new Vector2(0f, 12f), new Vector2(0f, -32f));

            _isInitialized = true;
        }