Ejemplo n.º 1
0
        private void SetupUI()
        {
            if (initialized)
            {
                return;
            }

            RectTransform mainMenu = (Resources.FindObjectsOfTypeAll <MainMenuViewController>().First().rectTransform);

            MenuButtonUI.AddButton("More songs...", BeatSaverButtonPressed);
            //_moreSongsButton.interactable = false;

            var downloaderSubMenu = SettingsUI.CreateSubMenu("Downloader");

            var disableDeleteButton = downloaderSubMenu.AddBool("Disable delete button");

            disableDeleteButton.GetValue += delegate { return(PluginConfig.disableDeleteButton); };
            disableDeleteButton.SetValue += delegate(bool value) { PluginConfig.disableDeleteButton = value; PluginConfig.SaveConfig(); };

            var deleteToRecycleBin = downloaderSubMenu.AddBool("Delete to Recycle Bin");

            deleteToRecycleBin.GetValue += delegate { return(PluginConfig.deleteToRecycleBin); };
            deleteToRecycleBin.SetValue += delegate(bool value) { PluginConfig.deleteToRecycleBin = value; PluginConfig.SaveConfig(); };

            var maxSimultaneousDownloads = downloaderSubMenu.AddInt("Max simultaneous downloads", 1, 10, 1);

            maxSimultaneousDownloads.GetValue += delegate { return(PluginConfig.maxSimultaneousDownloads); };
            maxSimultaneousDownloads.SetValue += delegate(int value) { PluginConfig.maxSimultaneousDownloads = value; PluginConfig.SaveConfig(); };

            initialized = true;
        }
Ejemplo n.º 2
0
 public void OnSceneLoaded(Scene scene, LoadSceneMode sceneMode)
 {
     if (scene.name == "MenuCore")
     {
         MenuButtonUI.AddButton("Beat Boards", BeatBoardsUIManager.Instance.BeatBoardsButtonPressed);
         BeatBoardsUIManager.Instance.AddVotingButtons();
     }
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Adds a button to the "Mods" settings menu (INCOMPLETE)
 /// </summary>
 public static void CreateModMenuButton()
 {
     //Currently there's no indication of which state is set when it's clicked. You can always check the toggle option in "Gameplay Setup" to be sure afterwards :P
     MenuButtonUI.AddButton($"{Plugin.PluginName} toggle", delegate
     {
         ChangeTransparentWallState(!Plugin.IsHMDOn);
         Logger.log.Debug($"Button was brutally smashed! Value should now be '{Plugin.IsHMDOn}'");
     });
 }
Ejemplo n.º 4
0
        public static void CreateUI()
        {
            if (Created)
            {
                return;
            }
            Created = true;

            MenuButtonUI.AddButton("Sync Hue", () => Plugin.SyncHue());
        }
Ejemplo n.º 5
0
        private IEnumerator SetupUI()
        {
            if (initialized)
            {
                yield break;
            }

            RectTransform mainMenu = (Resources.FindObjectsOfTypeAll <MainMenuViewController>().First().rectTransform);

            var downloaderSubMenu = SettingsUI.CreateSubMenu("Downloader");

            var disableDeleteButton = downloaderSubMenu.AddBool("Disable delete button");

            disableDeleteButton.GetValue += delegate { return(PluginConfig.disableDeleteButton); };
            disableDeleteButton.SetValue += delegate(bool value) { PluginConfig.disableDeleteButton = value; PluginConfig.SaveConfig(); };

            var deleteToRecycleBin = downloaderSubMenu.AddBool("Delete to Recycle Bin");

            deleteToRecycleBin.GetValue += delegate { return(PluginConfig.deleteToRecycleBin); };
            deleteToRecycleBin.SetValue += delegate(bool value) { PluginConfig.deleteToRecycleBin = value; PluginConfig.SaveConfig(); };

            var enableSongIcons = downloaderSubMenu.AddBool("Enable additional song icons");

            enableSongIcons.GetValue += delegate { return(PluginConfig.enableSongIcons); };
            enableSongIcons.SetValue += delegate(bool value) { PluginConfig.enableSongIcons = value; PluginConfig.SaveConfig(); };

            var maxSimultaneousDownloads = downloaderSubMenu.AddInt("Max simultaneous downloads", 1, 10, 1);

            maxSimultaneousDownloads.GetValue += delegate { return(PluginConfig.maxSimultaneousDownloads); };
            maxSimultaneousDownloads.SetValue += delegate(int value) { PluginConfig.maxSimultaneousDownloads = value; PluginConfig.SaveConfig(); };

            var fastScrollSpeed = downloaderSubMenu.AddInt("Fast scroll speed", 2, 20, 1);

            fastScrollSpeed.GetValue += delegate { return(PluginConfig.fastScrollSpeed); };
            fastScrollSpeed.SetValue += delegate(int value) { PluginConfig.fastScrollSpeed = value; PluginConfig.SaveConfig(); };

            _moreSongsButton = MenuButtonUI.AddButton("More songs", "Download more songs from BeatSaver.com!", BeatSaverButtonPressed);
            _moreSongsButton.interactable = SongLoader.AreSongsLoaded;

            MenuButtonUI.AddButton("More playlists", PlaylistsButtonPressed);

            if (moreSongsFlowCoordinator == null)
            {
                moreSongsFlowCoordinator = new GameObject("MoreSongsFlowCoordinator").AddComponent <MoreSongsFlowCoordinator>();
            }

            yield return(null);

            initialized = true;
        }
Ejemplo n.º 6
0
        private void SetupUI()
        {
            if (initialized)
            {
                return;
            }

            RectTransform mainMenu = (Resources.FindObjectsOfTypeAll <MainMenuViewController>().First().rectTransform);

            MenuButtonUI.AddButton("More songs...", BeatSaverButtonPressed);
            //_moreSongsButton.interactable = false;

            initialized = true;
        }
Ejemplo n.º 7
0
        private IEnumerator SetupUI()
        {
            if (initialized)
            {
                yield break;
            }

            var downloaderSubMenu = SettingsUI.CreateSubMenu("Downloader");

            var disableDeleteButton = downloaderSubMenu.AddBool("Disable delete button");

            disableDeleteButton.GetValue += delegate { return(PluginConfig.disableDeleteButton); };
            disableDeleteButton.SetValue += delegate(bool value) { PluginConfig.disableDeleteButton = value; PluginConfig.SaveConfig(); };

            var deleteToRecycleBin = downloaderSubMenu.AddBool("Delete to Recycle Bin");

            deleteToRecycleBin.GetValue += delegate { return(PluginConfig.deleteToRecycleBin); };
            deleteToRecycleBin.SetValue += delegate(bool value) { PluginConfig.deleteToRecycleBin = value; PluginConfig.SaveConfig(); };

            var enableSongIcons = downloaderSubMenu.AddBool("Enable additional song icons");

            enableSongIcons.GetValue += delegate { return(PluginConfig.enableSongIcons); };
            enableSongIcons.SetValue += delegate(bool value) { PluginConfig.enableSongIcons = value; PluginConfig.SaveConfig(); };

            var rememberLastPackAndSong = downloaderSubMenu.AddBool("Remember last pack and song");

            rememberLastPackAndSong.GetValue += delegate { return(PluginConfig.rememberLastPackAndSong); };
            rememberLastPackAndSong.SetValue += delegate(bool value) { PluginConfig.rememberLastPackAndSong = value; PluginConfig.SaveConfig(); };

            var maxSimultaneousDownloads = downloaderSubMenu.AddInt("Max simultaneous downloads", 1, 10, 1);

            maxSimultaneousDownloads.GetValue += delegate { return(PluginConfig.maxSimultaneousDownloads); };
            maxSimultaneousDownloads.SetValue += delegate(int value) { PluginConfig.maxSimultaneousDownloads = value; PluginConfig.SaveConfig(); };

            var fastScrollSpeed = downloaderSubMenu.AddInt("Fast scroll speed", 2, 20, 1);

            fastScrollSpeed.GetValue += delegate { return(PluginConfig.fastScrollSpeed); };
            fastScrollSpeed.SetValue += delegate(int value) { PluginConfig.fastScrollSpeed = value; PluginConfig.SaveConfig(); };

            _moreSongsButton = MenuButtonUI.AddButton("More songs", "Download more songs from BeatSaver.com!", BeatSaverButtonPressed);
            //bananbread songloader loaded menubutton
            _moreSongsButton.interactable = SongCore.Loader.AreSongsLoaded;

            MenuButtonUI.AddButton("More playlists", PlaylistsButtonPressed);

            yield return(null);

            initialized = true;
        }
Ejemplo n.º 8
0
        private void HandleMenuSceneLoadedFresh()
        {
            if (_platformMenu == null)
            {
                _platformMenu = BeatSaberUI.CreateCustomMenu <CustomMenu>("Platform Select");
                PlatformListViewController platformListViewController = BeatSaberUI.CreateViewController <PlatformListViewController>();
                platformListViewController.backButtonPressed += delegate() { _platformMenu.Dismiss(); };
                _platformMenu.SetMainViewController(platformListViewController, true);
                platformListViewController.DidSelectRowEvent += delegate(TableView view, int row) { PlatformManager.Instance.ChangeToPlatform(row); };
            }

            MenuButtonUI.AddButton("Platforms", delegate() { _platformMenu.Present(); });

            CreateSettingsUI();
        }
Ejemplo n.º 9
0
        private void CreatePlatformsButton()
        {
            MenuButtonUI.AddButton(
                "Platforms",
                delegate()
            {
                if (_platformListFlowCoordinator == null)
                {
                    _platformListFlowCoordinator = new GameObject("PlatformListFlowCoordinator").AddComponent <PlatformListFlowCoordinator>();
                    _platformListFlowCoordinator.mainFlowCoordinator = _mainFlowCoordinator;
                }

                _mainFlowCoordinator.InvokePrivateMethod("PresentFlowCoordinator", new object[] { _platformListFlowCoordinator, null, false, false });
            }
                );
        }
        private void SetupUI()
        {
            if (initialized)
            {
                return;
            }

            RectTransform mainMenu = (Resources.FindObjectsOfTypeAll <MainMenuViewController>().First().rectTransform);

            LocalProfilesMenuButton = MenuButtonUI.AddButton("Local Profiles", "Configure local profiles.", LocalProfilesButtonPressed);
            //try
            //{
            //    var MainScreen = GameObject.Find("MainScreen");
            //    var MainScreenPosition = MainScreen.transform.position;
            //    MenuButtonUI.AddButton("Local Profiles", "Configure local profiles.", () => {
            //        //Plugin.Log("IIIIISSSS CLIXED!!!!!");
            //        //MainScreen.transform.position = new Vector3(0, -100, 0); //"If it works it's not stupid"

            //    });



            //    //ToggleOption toggle = GameplaySettingsUI.CreateToggleOption("Test Option", "This is a short description of the option, which will be displayed as a tooltip when you hover over it", null);
            //    //toggle.AddConflict("Another Gameplay Option");

            //    //Plugin.Log("CREATXXX MENUUUUUUUUUUUUUUUUUUUUUU");
            //    //toggle.GetValue = toggleValue;
            //    //toggle.OnToggle += ((bool e) =>
            //    //{
            //    //    toggleValue = e;
            //    //});

            //    //SubMenu settingsSubmenu = SettingsUI.CreateSubMenu("Test Submenu");
            //    //IntViewController testInt = settingsSubmenu.AddInt("Test Int", 0, 100, 1);
            //    //testInt.GetValue += delegate { return ModPrefs.GetInt(this.Name, "Test Int", 0, true); };
            //    //testInt.SetValue += delegate (int value) { ModPrefs.SetInt(this.Name, "Test Int", value); };

            //    //MenuButtonUI.AddButton("Test Button", delegate { Console.WriteLine("Pushed test button!"); });
            //    Plugin.Log("CREATEDEDED MENUUUUUUUUUUUUUUUUUUUUUU");
            //}
            //catch (Exception ex)
            //{
            //    Plugin.Log("COULD NOT CREATE MENUUUUUUUUUUUUUUUUUU");
            //    Plugin.Log(ex + "", LogLevel.Error);
            //}
            initialized = true;
        }
Ejemplo n.º 11
0
        internal static void CreateMenu()
        {
            if (SaberForgeMenu == null)
            {
                SaberForgeMenu = BeatSaberUI.CreateCustomMenu <CustomMenu>("Saber Forge");

                //create views
                mainViewController  = BeatSaberUI.CreateViewController <MainViewController>();
                rightViewController = BeatSaberUI.CreateViewController <RightViewController>();
                leftViewController  = BeatSaberUI.CreateViewController <LeftViewController>();

                //set back button
                mainViewController.backButtonPressed += delegate()
                {
                    SaberForgeMenu.Dismiss();
                };

                //set view positions
                SaberForgeMenu.SetMainViewController(mainViewController, true);
                SaberForgeMenu.SetRightViewController(rightViewController, false);
                SaberForgeMenu.SetLeftViewController(leftViewController, false);
            }

            if (HelpMenu == null)
            {
                HelpMenu = BeatSaberUI.CreateCustomMenu <CustomMenu>("Saber Forge Help");

                HelpMainViewController  helpMainViewController  = BeatSaberUI.CreateViewController <HelpMainViewController>();
                HelpRightViewController helpRightViewController = BeatSaberUI.CreateViewController <HelpRightViewController>();
                HelpLeftViewController  helpLeftViewController  = BeatSaberUI.CreateViewController <HelpLeftViewController>();

                //set back button
                helpMainViewController.backButtonPressed += delegate()
                {
                    HelpMenu.Dismiss(); rightViewController.ForceSliders(); leftViewController.ForceSliders();;
                };

                //set view positions
                HelpMenu.SetMainViewController(helpMainViewController, true);
                HelpMenu.SetRightViewController(helpRightViewController, false);
                HelpMenu.SetLeftViewController(helpLeftViewController, false);
            }

            MenuButtonUI.AddButton("Saber Forge", delegate() { SaberForgeMenu.Present(); rightViewController.ForceSliders(); leftViewController.ForceSliders(); });
        }
Ejemplo n.º 12
0
 private void CreateMainMenuButton()
 {
     MultiplayerButton = MenuButtonUI.AddButton($"Multiplayer", "", delegate()
     {
         try
         {
             if (SteamAPI.isLobbyConnected())
             {
                 MultiplayerLobby.Instance.Present();
             }
             else
             {
                 MultiplayerListing.Instance.Present();
             }
         }
         catch (Exception e)
         {
             Logger.Error($"Unable to present flow coordinator! Exception: {e}");
         }
     });
 }
Ejemplo n.º 13
0
 private void AddMainButton()
 {
     MenuButtonUI.AddButton("Avatars", delegate()
     {
         var mainFlowCoordinator = Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().First();
         if (_flowCoordinator == null)
         {
             var flowCoordinator = new GameObject("AvatarListFlowCoordinator").AddComponent <AvatarListFlowCoordinator>();
             flowCoordinator.OnContentCreated = (content) =>
             {
                 content.onBackPressed = () =>
                 {
                     mainFlowCoordinator.InvokePrivateMethod("DismissFlowCoordinator", new object[] { flowCoordinator, null, false });
                 };
                 return("Avatar Select");
             };
             _flowCoordinator = flowCoordinator;
         }
         mainFlowCoordinator.InvokePrivateMethod("PresentFlowCoordinator", new object[] { _flowCoordinator, null, false, false });
     });
 }
Ejemplo n.º 14
0
        private void SceneManagerOnActiveSceneChanged(Scene from, Scene to)
        {
            Console.WriteLine($"[BeatSaberCustomExit] Active scene changed from \"{from.name}\" to \"{to.name}\"");

            if (from.name == "EmptyTransition" && to.name.Contains("Menu"))
            {
                try
                {
                    SettingsUI.Instance.OnLoad();
                    MainMenuUIOverload.Instance.OnLoad();
                    if (PluginConfig.EnablePlugin)
                    {
                        MenuButtonUI.AddButton("Restart Game", () => _OnRestartGameButtonClick());
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine("Exception on scene change: " + e);
                }
            }
        }
Ejemplo n.º 15
0
        private void CreateCustomSaberButton()
        {
            Logger.Log("Adding custom saber button", LogLevel.Debug);

            MenuButtonUI.AddButton("Saber Menu", delegate()
            {
                if (_saberListFlowCoordinator == null)
                {
                    _saberListFlowCoordinator = new GameObject("SaberListFlowCoordinator").AddComponent <SaberListFlowCoordinator>();
                    _saberListFlowCoordinator.mainFlowCoordinator = _mainFlowCoordinator;
                    _saberListFlowCoordinator.OnContentCreated    = (content) =>
                    {
                        content.backButtonPressed = () =>
                        {
                            _mainFlowCoordinator.InvokePrivateMethod("DismissFlowCoordinator", new object[] { _saberListFlowCoordinator, null, false });
                        };
                        return("Saber Select");
                    };
                    //_mainFlowCoordinator
                }
                ReflectionUtil.InvokePrivateMethod(_mainFlowCoordinator, "PresentFlowCoordinator", new object[] { _saberListFlowCoordinator, null, false, false });
            });
        }
Ejemplo n.º 16
0
 private void CreateBeFitMenuButton()
 {
     Console.WriteLine("here");
     MenuButtonUI.AddButton(
         "BeFit",
         delegate()
     {
         if (_beFitListFlowCoordinator == null)
         {
             _beFitListFlowCoordinator = new GameObject("BeFitListFlowCoordinator").AddComponent <BeFitListFlowCoordinator>();
             _beFitListFlowCoordinator.mainFlowCoordinator = _mainFlowCoordinator;
             _beFitListFlowCoordinator.OnContentCreated    = (content) =>
             {
                 content.beFitListBackWasPressed = () =>
                 {
                     _mainFlowCoordinator.InvokePrivateMethod("DismissFlowCoordinator", new object[] { _beFitListFlowCoordinator, null, false });
                 };
                 return("User Select");
             };
         }
         _mainFlowCoordinator.InvokePrivateMethod("PresentFlowCoordinator", new object[] { _beFitListFlowCoordinator, null, false, false });
     });
     Console.WriteLine("Is the problem");
 }
Ejemplo n.º 17
0
        public static void InitializeMenu()
        {
            InitializePresetList();

            MenuButtonUI.AddButton("Reload Chroma", OnReloadClick);
            MenuButtonUI.AddButton("Show Release Notes", "Shows the Release Notes and other info from the Beat Saber developers", delegate { SidePanelUtil.ResetPanel(); });
            MenuButtonUI.AddButton("Chroma Notes", "Shows the Release Notes and other info for Chroma", delegate { SidePanelUtil.SetPanel("chroma"); });
            MenuButtonUI.AddButton("Safety Waiver", "Shows the Chroma Safety Waiver", delegate { SidePanelUtil.SetPanel("chromaWaiver"); });

            /*
             * SETTINGS
             */
            SubMenu            ctSettings             = SettingsUI.CreateSubMenu("Chroma Settings");
            BoolViewController hideSubMenusController = ctSettings.AddBool("Hide CT Menus", "If true, hides all other Chroma menus.  This has a lot of options, I know.");

            hideSubMenusController.GetValue += delegate { return(ChromaConfig.HideSubMenus); };
            hideSubMenusController.SetValue += delegate(bool value) { ChromaConfig.HideSubMenus = value; };

            BoolViewController ctSettingsMapCheck = ctSettings.AddBool("Enabled Map Checking", "If false, Chroma and its extensions will not check for special maps.  Recommended to leave on.");

            ctSettingsMapCheck.GetValue += delegate { return(ChromaConfig.CustomMapCheckingEnabled); };
            ctSettingsMapCheck.SetValue += delegate(bool value) { ChromaConfig.CustomMapCheckingEnabled = value; };

            ListViewController ctSettingsMasterVolume = ctSettings.AddList("Chroma Sounds Volume", new float[] { 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1f }, "Master volume control for sounds made by Chroma");

            ctSettingsMasterVolume.GetValue    += delegate { return(ChromaConfig.MasterVolume); };
            ctSettingsMasterVolume.SetValue    += delegate(float value) { ChromaConfig.MasterVolume = value; };
            ctSettingsMasterVolume.FormatValue += delegate(float value) { return(value * 100 + "%"); };

            BoolViewController ctSettingsDebugMode = ctSettings.AddBool("Debug Mode", "Very performance heavy - only do this if you are bug chasing.");

            ctSettingsDebugMode.GetValue += delegate { return(ChromaConfig.DebugMode); };
            ctSettingsDebugMode.SetValue += delegate(bool value) { ChromaConfig.DebugMode = value; };

            ListViewController ctLogSettings = ctSettings.AddList("Logging Level", new float[] { 0, 1, 2, 3 }, "The further to the left this is, the more will be logged.");

            ctLogSettings.applyImmediately = true;
            ctLogSettings.GetValue        += delegate { return((int)ChromaLogger.LogLevel); };
            ctLogSettings.SetValue        += delegate(float value) { ChromaLogger.LogLevel = (ChromaLogger.Level)(int) value; ChromaConfig.SetInt("Logger", "loggerLevel", (int)value); };
            ctLogSettings.FormatValue     += delegate(float value) { return(((ChromaLogger.Level)(int) value).ToString()); };

            StringViewController ctPassword = ctSettings.AddString("Secrets", "What could it mean?!?!");

            ctPassword.GetValue += delegate { return(""); };
            ctPassword.SetValue += delegate(string value) {
                if (value.ToUpper() == "SAFETYHAZARD")
                {
                    ChromaConfig.WaiverRead = true;
                    AudioUtil.Instance.PlayOneShotSound("NightmareMode.wav");
                }
                else if (value.ToUpper() == "CREDITS")
                {
                    AudioUtil.Instance.PlayOneShotSound("ConfigReload.wav");
                }
            };

            SettingsMenuCreatedEvent?.Invoke(ctSettings);

            ChromaLogger.Log("Sub-menus " + (ChromaConfig.HideSubMenus ? "are" : "are not") + " hidden.");

            /*
             * SUB-MENUS
             */
            if (!ChromaConfig.HideSubMenus)
            {
                float[] presets = new float[colourPresets.Count];
                for (int i = 0; i < colourPresets.Count; i++)
                {
                    presets[i] = i;
                }

                /*
                 * NOTES COLOURS
                 */
                SubMenu ctNotes = SettingsUI.CreateSubMenu("Chroma Notes");

                //A
                ListViewController ctAColour = ctNotes.AddList("Left Notes", presets);
                ctAColour.applyImmediately = true;
                ctAColour.GetValue        += delegate {
                    String name = ChromaConfig.GetString("Notes", "colourA", "DEFAULT");
                    for (int i = 0; i < colourPresets.Count; i++)
                    {
                        if (colourPresets[i].name == name)
                        {
                            return(i);
                        }
                    }
                    return(0);
                };
                ctAColour.SetValue += delegate(float value) {
                    ColourManager.A = colourPresets[(int)value].color;
                    ChromaConfig.SetString("Notes", "colourA", colourPresets[(int)value].name);
                };
                ctAColour.FormatValue += delegate(float value) {
                    return(colourPresets[(int)value].name);
                };

                //B
                ListViewController ctBColour = ctNotes.AddList("Right Notes", presets);
                ctBColour.applyImmediately = true;
                ctBColour.GetValue        += delegate {
                    String name = ChromaConfig.GetString("Notes", "colourB", "DEFAULT");
                    for (int i = 0; i < colourPresets.Count; i++)
                    {
                        if (colourPresets[i].name == name)
                        {
                            return(i);
                        }
                    }
                    return(0);
                };
                ctBColour.SetValue += delegate(float value) {
                    ColourManager.B = colourPresets[(int)value].color;
                    ChromaConfig.SetString("Notes", "colourB", colourPresets[(int)value].name);
                };
                ctBColour.FormatValue += delegate(float value) {
                    return(colourPresets[(int)value].name);
                };

                SettingsNoteMenuAddedEvent?.Invoke(ctNotes, presets, colourPresets);

                /*
                 * LIGHTS COLOURS
                 */
                SubMenu ctLights = SettingsUI.CreateSubMenu("Chroma Lights");

                ListViewController ctLightAmbientColour = ctLights.AddList("Ambient (bg) Lights", presets);
                ctLightAmbientColour.applyImmediately = true;
                ctLightAmbientColour.GetValue        += delegate {
                    String name = ChromaConfig.GetString("Lights", "lightAmbient", "DEFAULT");
                    for (int i = 0; i < colourPresets.Count; i++)
                    {
                        if (colourPresets[i].name == name)
                        {
                            return(i);
                        }
                    }
                    return(0);
                };
                ctLightAmbientColour.SetValue += delegate(float value) {
                    ColourManager.LightAmbient = colourPresets[(int)value].color;
                    ChromaConfig.SetString("Lights", "lightAmbient", colourPresets[(int)value].name);
                    ColourManager.RecolourAmbientLights(ColourManager.LightAmbient);
                };
                ctLightAmbientColour.FormatValue += delegate(float value) {
                    return(colourPresets[(int)value].name);
                };

                //LightA
                ListViewController ctLightAColour = ctLights.AddList("Warm (red) Lights", presets);
                ctLightAColour.applyImmediately = true;
                ctLightAColour.GetValue        += delegate {
                    String name = ChromaConfig.GetString("Lights", "lightColourA", "DEFAULT");
                    for (int i = 0; i < colourPresets.Count; i++)
                    {
                        if (colourPresets[i].name == name)
                        {
                            return(i);
                        }
                    }
                    return(0);
                };
                ctLightAColour.SetValue += delegate(float value) {
                    ColourManager.LightA = colourPresets[(int)value].color;
                    ChromaConfig.SetString("Lights", "lightColourA", colourPresets[(int)value].name);
                };
                ctLightAColour.FormatValue += delegate(float value) {
                    return(colourPresets[(int)value].name);
                };

                //LightB
                ListViewController ctLightBColour = ctLights.AddList("Cold (blue) Lights", presets);
                ctLightBColour.applyImmediately = true;
                ctLightBColour.GetValue        += delegate {
                    String name = ChromaConfig.GetString("Lights", "lightColourB", "DEFAULT");
                    for (int i = 0; i < colourPresets.Count; i++)
                    {
                        if (colourPresets[i].name == name)
                        {
                            return(i);
                        }
                    }
                    return(0);
                };
                ctLightBColour.SetValue += delegate(float value) {
                    ColourManager.LightB = colourPresets[(int)value].color;
                    ChromaConfig.SetString("Lights", "lightColourB", colourPresets[(int)value].name);
                };
                ctLightBColour.FormatValue += delegate(float value) {
                    return(colourPresets[(int)value].name);
                };

                SettingsLightsMenuAddedEvent?.Invoke(ctLights, presets, colourPresets);

                /*
                 * OTHERS COLOURS
                 */
                SubMenu ctOthers = SettingsUI.CreateSubMenu("Chroma Aesthetics");

                //Barriers
                ListViewController ctBarrier = ctOthers.AddList("Barriers", presets);
                ctBarrier.applyImmediately = true;
                ctBarrier.GetValue        += delegate {
                    String name = ChromaConfig.GetString("Aesthetics", "barrierColour", "Barrier Red");
                    for (int i = 0; i < colourPresets.Count; i++)
                    {
                        if (colourPresets[i].name == name)
                        {
                            return(i);
                        }
                    }
                    return(0);
                };
                ctBarrier.SetValue += delegate(float value) {
                    ColourManager.BarrierColour = colourPresets[(int)value].color;
                    ChromaConfig.SetString("Aesthetics", "barrierColour", colourPresets[(int)value].name);
                };
                ctBarrier.FormatValue += delegate(float value) {
                    return(colourPresets[(int)value].name);
                };

                //BarrierCorrection
                ListViewController ctBarrierCorrection = ctOthers.AddList("Barrier Col. Correction", new float[] { 0, 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1f, 1.1f, 1.2f, 1.3f, 1.4f, 1.5f, 1.6f, 1.7f, 1.8f, 1.9f, 2f });
                ctBarrierCorrection.GetValue += delegate {
                    return(ColourManager.barrierColourCorrectionScale);
                };
                ctBarrierCorrection.SetValue += delegate(float value) {
                    ColourManager.barrierColourCorrectionScale = value;
                    ChromaConfig.SetFloat("Aesthetics", "barrierColourCorrectionScale", value);
                };
                ctBarrierCorrection.FormatValue += delegate(float value) { return(value * 100 + "%"); };

                //SignB
                ListViewController ctSignB = ctOthers.AddList("Neon Sign Top", presets);
                ctSignB.applyImmediately = true;
                ctSignB.GetValue        += delegate {
                    String name = ChromaConfig.GetString("Aesthetics", "signColourB", "Notes Blue");
                    for (int i = 0; i < colourPresets.Count; i++)
                    {
                        if (colourPresets[i].name == name)
                        {
                            return(i);
                        }
                    }
                    return(0);
                };
                ctSignB.SetValue += delegate(float value) {
                    ColourManager.SignB = colourPresets[(int)value].color;
                    ChromaConfig.SetString("Aesthetics", "signColourB", colourPresets[(int)value].name);
                    ColourManager.RecolourNeonSign(ColourManager.SignA, ColourManager.SignB);
                };
                ctSignB.FormatValue += delegate(float value) {
                    return(colourPresets[(int)value].name);
                };

                //SignA
                ListViewController ctSignA = ctOthers.AddList("Neon Sign Bottom", presets);
                ctSignA.applyImmediately = true;
                ctSignA.GetValue        += delegate {
                    String name = ChromaConfig.GetString("Aesthetics", "signColourA", "Notes Red");
                    for (int i = 0; i < colourPresets.Count; i++)
                    {
                        if (colourPresets[i].name == name)
                        {
                            return(i);
                        }
                    }
                    return(0);
                };
                ctSignA.SetValue += delegate(float value) {
                    ColourManager.SignA = colourPresets[(int)value].color;
                    ChromaConfig.SetString("Aesthetics", "signColourA", colourPresets[(int)value].name);
                    ColourManager.RecolourNeonSign(ColourManager.SignA, ColourManager.SignB);
                };
                ctSignA.FormatValue += delegate(float value) {
                    return(colourPresets[(int)value].name);
                };

                //LaserPointer
                ListViewController ctLaserColour = ctOthers.AddList("Laser Pointer", presets);
                ctLaserColour.applyImmediately = true;
                ctLaserColour.GetValue        += delegate {
                    String name = ChromaConfig.GetString("Aesthetics", "laserPointerColour", "Notes Blue");
                    for (int i = 0; i < colourPresets.Count; i++)
                    {
                        if (colourPresets[i].name == name)
                        {
                            return(i);
                        }
                    }
                    return(0);
                };
                ctLaserColour.SetValue += delegate(float value) {
                    ColourManager.LaserPointerColour = colourPresets[(int)value].color;
                    ChromaConfig.SetString("Aesthetics", "laserPointerColour", colourPresets[(int)value].name);
                    //ColourManager.RecolourLaserPointer(ColourManager.LaserPointerColour);
                    ColourManager.RecolourMenuStuff(ColourManager.A, ColourManager.B, ColourManager.LightA, ColourManager.LightB, ColourManager.Platform, ColourManager.LaserPointerColour);
                };
                ctLaserColour.FormatValue += delegate(float value) {
                    return(colourPresets[(int)value].name);
                };

                ListViewController ctPlatform = ctOthers.AddList("Platform Accoutrements", presets);
                ctPlatform.applyImmediately = true;
                ctPlatform.GetValue        += delegate {
                    String name = ChromaConfig.GetString("Aesthetics", "platformAccoutrements", "DEFAULT");
                    for (int i = 0; i < colourPresets.Count; i++)
                    {
                        if (colourPresets[i].name == name)
                        {
                            return(i);
                        }
                    }
                    return(0);
                };
                ctPlatform.SetValue += delegate(float value) {
                    ColourManager.Platform = colourPresets[(int)value].color;
                    ChromaConfig.SetString("Aesthetics", "platformAccoutrements", colourPresets[(int)value].name);
                    ColourManager.RecolourMenuStuff(ColourManager.A, ColourManager.B, ColourManager.LightA, ColourManager.LightB, ColourManager.Platform, ColourManager.LaserPointerColour);
                };
                ctPlatform.FormatValue += delegate(float value) {
                    return(colourPresets[(int)value].name);
                };

                SettingsOthersMenuAddedEvent?.Invoke(ctOthers, presets, colourPresets);

                ExtensionSubMenusEvent?.Invoke(presets, colourPresets);
            }

            GameplaySettingsUISetup();
        }
Ejemplo n.º 18
0
 public static void CreateUI()
 {
     MenuButtonUI.AddButton("Counters+", "Configure Counters+ settings.", OnClick);
 }
Ejemplo n.º 19
0
 private void CreateUI()
 {
     MenuButtonUI.AddButton("MediaPanel", () => mainFlowCoordinator.PresentFlowCoordinatorOrAskForTutorial(mediaPanelFlowCoordinator));
 }
Ejemplo n.º 20
0
        public void Init()
        {
            MenuButtonUI.AddButton("Alpha Twitch", AlphaTwitchButtonPressed);

            BeatSaberMarkupLanguage.Settings.BSMLSettings.instance.AddSettingsMenu("Alpha Twitch", "AlphaTwitch.Views.alphatwitchsettings.bsml", PersistentSingleton <AlphaSettings> .instance);
        }