public void ResetValues() { if (!_isInitialized) { return; } _oneSaberStagingValue = _oneSaberAppliedValue; _lightshowStagingValue = _lightshowAppliedValue; _mappingExtensionsStagingValue = _mappingExtensionsAppliedValue; RefreshUI(); }
public void SetDefaultValues() { if (!_isInitialized) { return; } _oneSaberStagingValue = false; _lightshowStagingValue = false; _mappingExtensionsStagingValue = SongRequirement.Off; RefreshUI(); }
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; }