public static void GetPanelNames(GameplaySettingsPanels panel, ref string pageName, ref string panelName) { switch (panel) { case GameplaySettingsPanels.ModifiersRight: pageName = "GameplayModifiers"; panelName = "RightColumn"; break; case GameplaySettingsPanels.ModifiersLeft: pageName = "GameplayModifiers"; panelName = "LeftColumn"; break; case GameplaySettingsPanels.PlayerSettingsRight: pageName = "PlayerSettings"; panelName = "RightPanel"; break; case GameplaySettingsPanels.PlayerSettingsLeft: pageName = "PlayerSettings"; panelName = "LeftPanel"; break; } }
public SubmenuOption(GameplaySettingsPanels panel, string optionName, string hintText, Sprite optionIcon) : base(panel, optionName, hintText, optionIcon, 0f) { this.optionName = optionName; this.hintText = hintText; this.optionIcon = optionIcon; GetPanelNames(panel, ref pageName, ref panelName); }
public static void EnterSubmenu(GameplaySettingsPanels panel, string menuName) { lock (Instance[panel]) { var instance = Instance[panel]; if (instance._customMenus.ContainsKey(menuName)) { instance._currentSubmenu = menuName; instance._listIndex = 0; instance.ChangePage(0, instance._panelContainer, instance._defaultOptions[0], instance._defaultOptions[1], instance._defaultOptions[2], instance._defaultOptions[3]); if (instance._listIndex <= 0) { instance._pageUpButton.gameObject.SetActive(false); } else { instance._pageUpButton.gameObject.SetActive(true); } int index = instance._listIndex * 4 + (instance._currentSubmenu == "MainMenu" ? -4 : 0); if (index + 4 < instance._customMenus[instance._currentSubmenu].Count) { instance._pageDownButton.gameObject.SetActive(true); } else { instance._pageDownButton.gameObject.SetActive(false); } } } }
public static void GetOptionTransforms(GameplaySettingsPanels panel, RectTransform container, ref Transform option1, ref Transform option2, ref Transform option3, ref Transform option4) { switch (panel) { case GameplaySettingsPanels.ModifiersRight: option1 = container.Find("NoFail"); option2 = container.Find("NoObstacles"); option3 = container.Find("NoBombs"); option4 = container.Find("SlowerSong"); break; case GameplaySettingsPanels.ModifiersLeft: option1 = container.Find("InstaFail"); option2 = container.Find("BatteryEnergy"); option3 = container.Find("DisappearingArrows"); option4 = container.Find("FasterSong"); break; case GameplaySettingsPanels.PlayerSettingsRight: option1 = container.Find("NoTextsAndHUDs"); option2 = container.Find("AdvancedHUD"); option3 = container.Find("SoundFX"); option4 = container.Find("ReduceDebris"); break; case GameplaySettingsPanels.PlayerSettingsLeft: option1 = container.Find("LeftHanded"); option2 = container.Find("SwapColors"); option3 = container.Find("StaticLights"); option4 = container.Find("PlayerHeight"); break; } }
public ToggleOption(GameplaySettingsPanels panel, string optionName, string hintText, Sprite optionIcon, float multiplier) { this.optionName = optionName; this.hintText = hintText; this.optionIcon = optionIcon; this.multiplier = multiplier; GetPanelNames(panel, ref pageName, ref panelName); }
private static void CreateInstance(GameplaySettingsPanels panel) { if (_instances.ContainsKey(panel) && _instances[panel] != null) { return; } _instances[panel] = new GameObject("GameplaySettingsUI").AddComponent <GameplaySettingsUI>(); _instances[panel].panel = panel; }
private static void CreateBackButton(GameplaySettingsPanels panel, string submenuName) { if (submenuName == "MainMenu") { return; } if (_backButton == null) { _backButton = UIUtilities.LoadSpriteFromResources("BeatSaberCustomUI.Resources.Back Button.png"); } CreateSubmenuOption(panel, "Back", submenuName, "!PREVIOUSMENU!", String.Empty, _backButton); }
public static ToggleOption CreateToggleOption(GameplaySettingsPanels panel, string optionName, string submenuName, string hintText = "", Sprite optionIcon = null, float multiplier = 0f) { lock (Instance[panel]) { ToggleOption ret = new ToggleOption(panel, optionName, hintText, optionIcon, multiplier); if (!Instance[panel]._customMenus.ContainsKey(submenuName)) { Instance[panel]._customMenus[submenuName] = new List <GameOption>(); } Instance[panel]._customMenus[submenuName].Add(ret); return(ret); } }
public static MultiSelectOption CreateListOption(GameplaySettingsPanels panel, string optionName, string submenuName, string hintText = "") { lock (Instance[panel]) { MultiSelectOption ret = new MultiSelectOption(panel, optionName, hintText); if (!Instance[panel]._customMenus.ContainsKey(submenuName)) { Instance[panel]._customMenus[submenuName] = new List <GameOption>(); } Instance[panel]._customMenus[submenuName].Add(ret); return(ret); } }
public static void GetNumDefaultOptionsForPanel(GameplaySettingsPanels panel, ref int numDefaultOptions) { switch (panel) { case GameplaySettingsPanels.ModifiersRight: case GameplaySettingsPanels.ModifiersLeft: numDefaultOptions = 5; break; case GameplaySettingsPanels.PlayerSettingsRight: case GameplaySettingsPanels.PlayerSettingsLeft: numDefaultOptions = 4; break; } }
public static ToggleOption CreateSubmenuOption(GameplaySettingsPanels panel, string optionName, string submenuName, string submenuToEnter, string hintText = "", Sprite optionIcon = null) { lock (Instance[panel]) { SubmenuOption ret = new SubmenuOption(panel, optionName, hintText, optionIcon); if (!Instance[panel]._customMenus.ContainsKey(submenuName)) { Instance[panel]._customMenus[submenuName] = new List <GameOption>(); } ret.OnToggle += (e) => GameplaySettingsUI.EnterSubmenu(panel, submenuToEnter); Instance[panel]._customMenus[submenuName].Add(ret); return(ret); } }
public static void EnterSubmenu(GameplaySettingsPanels panel, string menuName) { lock (Instance[panel]) { var instance = Instance[panel]; if (menuName == "!PREVIOUSMENU!") { menuName = instance._customMenus[instance._currentSubmenu]._previousMenu; } else { instance._customMenus[menuName]._previousMenu = instance._currentSubmenu; } if (instance._customMenus.ContainsKey(menuName)) { instance._currentSubmenu = menuName; instance._pageIndex = 0; instance.ChangePage(0, instance._panelContainer, instance._defaultOptions[0], instance._defaultOptions[1], instance._defaultOptions[2], instance._defaultOptions[3]); } } }
public static ToggleOption CreateToggleOption(GameplaySettingsPanels panel, string optionName, string hintText = "", Sprite optionIcon = null, float multiplier = 0f) { return(CreateToggleOption(panel, optionName, "MainMenu", hintText, optionIcon, multiplier)); }
public static MultiSelectOption CreateListOption(GameplaySettingsPanels panel, string optionName, string hintText = "") { return(CreateListOption(panel, optionName, "MainMenu", hintText)); }
public MultiSelectOption(GameplaySettingsPanels panel, string optionName, string hintText) { this.optionName = optionName; this.hintText = hintText; GetPanelNames(panel, ref pageName, ref panelName); }