private void roomSelection_MatchCreated() { var match = new Match() { Guid = Guid.NewGuid().ToString(), Leader = Plugin.client.Self, Players = new Player[] { Plugin.client.Self as Player } }; Plugin.client.CreateMatch(match); _roomCoordinator = BeatSaberUI.CreateFlowCoordinator <RoomCoordinator>(); _roomCoordinator.DidFinishEvent += roomCoordinator_DidFinishEvent; _roomCoordinator.Match = match; PresentFlowCoordinator(_roomCoordinator); }
public void OnSceneLoaded(Scene scene, LoadSceneMode sceneMode) { if (scene.name == "MenuCore") { if (_notesMenu == null) { _notesMenu = BeatSaberUI.CreateCustomMenu <CustomMenu>("Custom Notes"); UI.NoteListViewController noteListViewController = BeatSaberUI.CreateViewController <UI.NoteListViewController>(); noteListViewController.backButtonPressed += delegate() { _notesMenu.Dismiss(); }; _notesMenu.SetMainViewController(noteListViewController, true); noteListViewController.DidSelectRowEvent += delegate(TableView view, int row) { selectedNote = row; }; } CustomUI.MenuButton.MenuButtonUI.AddButton("CustomNotes", delegate() { _notesMenu.Present(); }); } }
protected override void DidActivate(bool firstActivation, bool addedToHierarchy, bool screenSystemEnabling) { if (addedToHierarchy) { //Set up UI SetTitle("Server Selection", ViewController.AnimationType.None); showBackButton = false; _IPConnectionViewController = BeatSaberUI.CreateViewController <IPConnection>(); _PatchNotesViewController = BeatSaberUI.CreateViewController <PatchNotes>(); _splashScreen = BeatSaberUI.CreateViewController <SplashScreen>(); _splashScreen.StatusText = "Gathering Server List..."; ProvideInitialViewControllers(_splashScreen, _IPConnectionViewController, _PatchNotesViewController); } }
public void ShowModPageClick() { if (_shouldOpenPage) { var currentFlow = Resources.FindObjectsOfTypeAll <FlowCoordinator>().FirstOrDefault(f => f.isActivated); _flowCoordinatorOwner = BeatSaberUI.CreateFlowCoordinator <FightSabersFlowCoordinator>(); _flowCoordinatorOwner.oldCoordinator = currentFlow; currentFlow.PresentFlowCoordinator(_flowCoordinatorOwner); } else { _flowCoordinatorOwner.oldCoordinator.DismissFlowCoordinator(_flowCoordinatorOwner); } _shouldOpenPage = !_shouldOpenPage; buttonStatus = _shouldOpenPage ? "Open FightSabers" : "Close FightSabers"; }
private void PresentList() { if (_menuButtonListViewController == null) { _menuButtonListViewController = BeatSaberUI.CreateViewController <MenuButtonListViewController>(); _menuButtonListViewController.pinButtonPushed += PinButtonWasPushed; _menuButtonListViewController.backButtonPressed += ListBackPressed; } _menuButtonListViewController.SetData(buttonData); // Using MainFlowCoordinator instead of CustomMenu for compatibility with mods FlowCoordinator flowCoordinator = Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().First(); flowCoordinator.InvokePrivateMethod("PresentViewController", new object[] { _menuButtonListViewController, null, false }); flowCoordinator.SetProperty("title", "Mods"); }
private void Awake() { if (!mainView) { mainView = BeatSaberUI.CreateViewController<DTMainSettings>(); } if (!cachedPhysicsView) { cachedPhysicsView = BeatSaberUI.CreateViewController<DTPhysicsSettings>(); } if (!cachedCosmeticView) { cachedCosmeticView = BeatSaberUI.CreateViewController<DTCosmeticSettings>(); } ApplyResponsiveVisibility(); }
// Using Zenject for UI lets goooooooooooo public override void InstallBindings() { // CanvasUtility for UI Container.Bind <CanvasUtility>().AsSingle().NonLazy(); Container.Bind <MockCounter>().AsSingle().NonLazy(); BindSettingsGroup <MainSettingsGroup>(); BindSettingsGroup <CountersSettingsGroup>(); BindSettingsGroup <HUDsSettingsGroup>(); foreach (CustomCounter customCounter in Plugin.LoadedCustomCounters.Values) { if (customCounter.BSML != null && customCounter.BSML.HasType) { Type hostType = customCounter.BSML.HostType; if (hostType.BaseType == typeof(MonoBehaviour)) { Container.Bind(hostType).WithId(customCounter.Name).FromComponentOnRoot().AsCached(); } else { Container.Bind(hostType).WithId(customCounter.Name).AsCached(); } } } BindViewController <CountersPlusCreditsViewController>(); BindViewController <CountersPlusMainScreenNavigationController>(); BindViewController <CountersPlusBlankViewController>(); BindViewController <CountersPlusSettingSectionSelectionViewController>(); BindViewController <CountersPlusHorizontalSettingsListViewController>(); BindViewController <CountersPlusCounterEditViewController>(); BindViewController <CountersPlusMainSettingsEditViewController>(); BindViewController <CountersPlusHUDListViewController>(); BindViewController <CountersPlusHUDEditViewController>(); var flowCoordinator = BeatSaberUI.CreateFlowCoordinator <CountersPlusSettingsFlowCoordinator>(); Container.InjectSpecialInstance <CountersPlusSettingsFlowCoordinator>(flowCoordinator); MenuTransitionsHelperPatch.Patch(Container.ResolveId <HarmonyObj>(CoreInstaller.HARMONY_ID), Container.Resolve <CanvasUtility>(), Container.Resolve <HUDConfigModel>(), this); AddButton(); }
private void FirstActivation() { // add some buttons RectTransform verticalLayout = UIFunctions.CreateVerticalLayoutObj(new RectOffset(6, 6, 6, 6), 1, TextAnchor.UpperCenter); UIFunctions.SetRect(verticalLayout, transform, new Vector2(0, 1), new Vector2(0, 1), new Vector2(85, -40), new Vector2(150, 80)); UIFunctions.CreateModelSwapPanel(verticalLayout, PartEditor.BladeList, "BLADE MODEL"); UIFunctions.CreateModelSwapPanel(verticalLayout, PartEditor.GuardList, "GUARD MODEL"); UIFunctions.CreateModelSwapPanel(verticalLayout, PartEditor.HandleList, "HANDLE MODEL"); UIFunctions.CreateModelSwapPanel(verticalLayout, PartEditor.PommelList, "POMMEL MODEL");; UIFunctions.CreateModelSwapPanel(verticalLayout, PartEditor.AccAList, "ACCESSORY A MODEL"); UIFunctions.CreateModelSwapPanel(verticalLayout, PartEditor.AccBList, "ACCESSORY B MODEL"); BeatSaberUI.CreateUIButton(transform.GetComponent <RectTransform>(), "PlayButton", new Vector2(69, 33), new Vector2(16, 16), delegate() { SaberForgeUI.HelpMenu.Present(); }, "?"); }
public void Awake() { if (_moreSongsView == null) { _moreSongsView = BeatSaberUI.CreateViewController <MoreSongsListViewController>(); _songDetailView = BeatSaberUI.CreateViewController <SongDetailViewController>(); _moreSongsNavigationcontroller = BeatSaberUI.CreateViewController <NavigationController>(); _moreSongsView.navController = _moreSongsNavigationcontroller; _songDescriptionView = BeatSaberUI.CreateViewController <SongDescriptionViewController>(); _downloadQueueView = BeatSaberUI.CreateViewController <DownloadQueueViewController>(); _moreSongsView.didSelectSong += HandleDidSelectSong; _moreSongsView.filterDidChange += HandleFilterDidChange; _songDetailView.didPressDownload += HandleDidPressDownload; _songDetailView.didPressUploader += HandleDidPressUploader; } }
//////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /// <summary> /// When the Unity GameObject and all children are ready /// </summary> internal void Awake() { if (m_MainView == null) { m_MainView = BeatSaberUI.CreateViewController <ManagerMain>(); } if (m_LeftView == null) { m_LeftView = BeatSaberUI.CreateViewController <ManagerLeft>(); } if (m_DetailView == null) { m_DetailView = BeatSaberUI.CreateViewController <ManagerDetail>(); } m_MainView.FlowCoordinator = this; }
public void Initialize() { try { _logger.Debug("Attempting to Initialize FPS Counter"); _targetFramerate = (int)XRDevice.refreshRate; _logger.Debug($"Target framerate = {_targetFramerate}"); var gameObject = new GameObject("FPS Counter"); var canvas = gameObject.AddComponent <Canvas>(); canvas.renderMode = RenderMode.WorldSpace; gameObject.transform.localScale = Vector3.one / 10; gameObject.transform.position = new Vector3(0, 3.5f, 8f); gameObject.transform.rotation = Quaternion.identity; gameObject.AddComponent <CurvedCanvasSettings>().SetRadius(0f); var canvasTransform = canvas.transform as RectTransform; _counter = BeatSaberUI.CreateText(canvasTransform, string.Empty, Vector3.zero); _counter.alignment = TextAlignmentOptions.Center; _counter.fontSize = 2.5f; _counter.color = Color.white; _counter.lineSpacing = -50f; _counter.rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 2f); _counter.rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 2f); _counter.enableWordWrapping = false; _counter.overflowMode = TextOverflowModes.Overflow; if (!_config.ShowRing) { return; } _image = _fpsCounterUtils.CreateRing(canvas); var imageTransform = _image.rectTransform; imageTransform.anchoredPosition = _counter.rectTransform.anchoredPosition; imageTransform.localScale *= 0.1f; } catch (Exception ex) { _logger.Error("FPS Counter Done"); _logger.Error(ex); } }
public void Awake() { if (_playlistsNavigationController == null && _playlistDetailViewController == null) { _playlistsNavigationController = BeatSaberUI.CreateViewController <BackButtonNavigationController>(); _playlistsNavigationController.didFinishEvent += _playlistsNavigationController_didFinishEvent; GameObject _playlistDetailGameObject = Instantiate(Resources.FindObjectsOfTypeAll <StandardLevelDetailViewController>().First(), _playlistsNavigationController.rectTransform, false).gameObject; _playlistDetailViewController = _playlistDetailGameObject.AddComponent <PlaylistDetailViewController>(); Destroy(_playlistDetailGameObject.GetComponent <StandardLevelDetailViewController>()); _playlistDetailViewController.name = "PlaylistDetailViewController"; _playlistDetailViewController.downloadButtonPressed += _playlistDetailViewController_downloadButtonPressed; _playlistDetailViewController.selectButtonPressed += _playlistDetailViewController_selectButtonPressed; _playlistDetailViewController.SetSelectButtonText("Select"); } }
protected override void DidActivate(bool firstActivation, bool addedToHierarchy, bool screenSystemEnabling) { if (addedToHierarchy) { //Set up UI SetTitle("Event Selection", ViewController.AnimationType.None); showBackButton = false; _qualifierSelection = BeatSaberUI.CreateViewController <ItemSelection>(); _qualifierSelection.ItemSelected += itemSelection_ItemSelected; _splashScreen = BeatSaberUI.CreateViewController <SplashScreen>(); _splashScreen.StatusText = "Gathering Event List..."; ProvideInitialViewControllers(_splashScreen); } }
//If we're in tournament mode, we'll actually be alive when we recieve the initial //ConnectResponse. When we do, we need to check to see if Teams is enabled //so we can offer the team selection screen if needed. protected override void Client_ConnectedToServer(ConnectResponse response) { base.Client_ConnectedToServer(response); UnityMainThreadDispatcher.Instance().Enqueue(() => { _splashScreen.StatusText = "Waiting for the coordinator to create your match..."; if ((response.Self as Player).Team.Id == Guid.Empty && Plugin.client.State.ServerSettings.Teams.Length > 0) { _teamSelection = BeatSaberUI.CreateViewController <TeamSelection>(); _teamSelection.TeamSelected += teamSelection_TeamSelected; _teamSelection.SetTeams(new List <Team>(Plugin.client.State.ServerSettings.Teams)); ShowTeamSelection(); } }); }
/// <summary> /// Only ever called once on the first frame the script is Enabled. Start is called after any other script's Awake() and before Update(). /// </summary> private void Start() { try { this.screenGO = new GameObject("NotificationText", typeof(CanvasScaler), typeof(RectMask2D), typeof(VRGraphicRaycaster), typeof(CurvedCanvasSettings)); this.screenGO.GetComponent <VRGraphicRaycaster>().SetField("_physicsRaycaster", BeatSaberUI.PhysicsRaycasterWithCache); this.screenGO.transform.localScale = new Vector3(1f, 1f, 1f); this.notificationText = BeatSaberUI.CreateText(screenGO.gameObject.transform as RectTransform, "DEFAULT", Vector2.zero); this.notificationText.alignment = TextAlignmentOptions.Center; this.notificationText.autoSizeTextContainer = false; this.noteJumpStartBeatOffsetDropdown = this.playerSettingsPanelController.GetField <NoteJumpStartBeatOffsetDropdown, PlayerSettingsPanelController>("_noteJumpStartBeatOffsetDropdown"); this.noteJumpStartBeatOffsetDropdown.didSelectCellWithIdxEvent += this.NoteJumpStartBeatOffsetDropdown_didSelectCellWithIdxEvent; this.NoteJumpStartBeatOffsetDropdown_didSelectCellWithIdxEvent(noteJumpStartBeatOffsetDropdown.GetIdxForOffset(playerDataModel.playerData.playerSpecificSettings.noteJumpStartBeatOffset)); } catch (Exception e) { Plugin.Log.Error(e); } }
public void Awake() { if (!rainbowsDescriptionView) { rainbowsDescriptionView = BeatSaberUI.CreateViewController <RainbowsDescriptionViewController>(); } if (!rainbowsListView) { rainbowsListView = BeatSaberUI.CreateViewController <RainbowsListViewController>(); if (rainbowsDescriptionView) { rainbowsListView.rainbowChanged += rainbowsDescriptionView.ChangeDescription; } } }
private void Awake() { this.alternativePlayView = BeatSaberUI.CreateViewController <AlternativePlayView>(); this.alternativePlayView.MainFlowCoordinator = this; this.gameModifiersView = BeatSaberUI.CreateViewController <GameModifiersView>(); this.beatSaberSettingsView = BeatSaberUI.CreateViewController <BeatSaberView>(); this.beatSaberSettingsView.SetMainFlowCoordinator(this); this.darthMaulSettingsView = BeatSaberUI.CreateViewController <DarthMaulView>(); this.darthMaulSettingsView.SetMainFlowCoordinator(this); this.beatSpearSettingsView = BeatSaberUI.CreateViewController <BeatSpearView>(); this.beatSpearSettingsView.SetMainFlowCoordinator(this); this.trackerSelectView = BeatSaberUI.CreateViewController <TrackerSelectView>(); this.trackerSelectView.SetMainFlowCoordinator(this); this.trackerPoseView = BeatSaberUI.CreateViewController <TrackerPoseView>(); }
public KEYBOARD(RectTransform container, string DefaultKeyboard = QWERTY, bool EnableInputField = true, float x = 0, float y = 0) { this.EnableInputField = EnableInputField; this.container = container; baseposition = new Vector2(-50 + x, 23 + y); currentposition = baseposition; //bool addhint = true; SetButtonType(); // BUG: Make this an input field maybe KeyboardText = BeatSaberUI.CreateText(container, "", new Vector2(0, 23f)); KeyboardText.fontSize = 6f; KeyboardText.color = Color.white; KeyboardText.alignment = TextAlignmentOptions.Center; KeyboardText.enableWordWrapping = false; KeyboardText.text = ""; KeyboardText.enabled = this.EnableInputField; //KeyboardText KeyboardCursor = BeatSaberUI.CreateText(container, "|", new Vector2(0, 0)); KeyboardCursor.fontSize = 6f; KeyboardCursor.color = Color.cyan; KeyboardCursor.alignment = TextAlignmentOptions.Left; KeyboardCursor.enableWordWrapping = false; KeyboardCursor.enabled = this.EnableInputField; DrawCursor(); // BUG: Doesn't handle trailing spaces.. seriously, wtf. // We protect this since setting nonexistent keys will throw. // BUG: These are here on a temporary basis, they will be moving out as soon as API is finished if (DefaultKeyboard != "") { AddKeys(DefaultKeyboard); DefaultActions(); } return; }
private void _playerInfoViewController_editImageButtonPressed() { if (_imageUploadViewController == null) { _imageUploadViewController = BeatSaberUI.CreateViewController <ImageUploadViewController>(); _imageUploadViewController.refreshButtonClicked += _imageUploadViewController_refreshButtonPressed; _imageUploadViewController.setButtonClicked += _imageUploadViewController_setButtonPressed; _imageUploadViewController.closeButtonClicked += _imageUploadViewController_backButtonPressed; } if (_imageUploadViewController._titleText != null) { _imageUploadViewController._titleText.text = "Change Profile Picture"; } PresentViewController(_imageUploadViewController); }
protected override void DidActivate(bool firstActivation, ActivationType activationType) { if (firstActivation) { _prevChannelButton = BeatSaberUI.CreateUIButton(rectTransform, "QuitButton", new Vector2(-55f, 34f), () => { prevPressedEvent?.Invoke(); }, "<<"); _nextChannelButton = BeatSaberUI.CreateUIButton(rectTransform, "QuitButton", new Vector2(65f, 34f), () => { nextPressedEvent?.Invoke(); }, ">>"); _loadingIndicator = BeatSaberUI.CreateLoadingSpinner(rectTransform); (_loadingIndicator.transform as RectTransform).anchoredPosition = new Vector2(4.5f, 4.5f); _container = new GameObject("Container", typeof(RectTransform)); _container.transform.SetParent(rectTransform, false); _joinButton = BeatSaberUI.CreateUIButton(rectTransform, "QuitButton", new Vector2(4.5f, -30f), () => { joinPressedEvent?.Invoke(currentChannel); }, "Join"); _joinButton.ToggleWordWrapping(false); _joinButton.transform.SetParent(_container.transform, true); _channelCover = new GameObject("CustomUIImage").AddComponent <Image>(); _channelCover.material = Sprites.NoGlowMat; _channelCover.rectTransform.SetParent(rectTransform, false); _channelCover.rectTransform.anchorMin = new Vector2(0.5f, 0.5f); _channelCover.rectTransform.anchorMax = new Vector2(0.5f, 0.5f); _channelCover.rectTransform.anchoredPosition = new Vector2(4.5f, 4.5f); _channelCover.rectTransform.sizeDelta = new Vector2(32f, 32f); _channelCover.sprite = UIUtilities.BlankSprite; _channelCover.rectTransform.SetParent(_container.transform, true); _channelNameText = BeatSaberUI.CreateText(rectTransform, "CHANNEL NAME", new Vector2(4.5f, 35.50f)); _channelNameText.alignment = TextAlignmentOptions.Top; _channelNameText.overflowMode = TextOverflowModes.Overflow; _channelNameText.lineSpacing = -46f; _channelNameText.fontSize = 10; _channelNameText.transform.SetParent(_container.transform, true); _playerCountText = BeatSaberUI.CreateText(rectTransform, "Players: 0", new Vector2(4.5f, -15f)); _playerCountText.alignment = TextAlignmentOptions.Center; _playerCountText.transform.SetParent(_container.transform, true); _nowPlayingText = BeatSaberUI.CreateText(rectTransform, "Now playing: UNKNOWN", new Vector2(4.5f, -21f)); _nowPlayingText.alignment = TextAlignmentOptions.Center; _nowPlayingText.transform.SetParent(_container.transform, true); } _container.SetActive(false); }
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(); }); }
private void FirstActivation() { string helpText = "<size=150%><b>Instructions</b> \n" + "\n" + "<size=120%>1 - Adjust your sabers using the options provided in Saber Forge.\n" + "\n" + "2 - Open the Custom Sabers mod menu and choose the 'Saber Forge' sabers. \n" + "\n" + "3 - Hit bloq" ; RectTransform verticalLayout = UIFunctions.CreateVerticalLayoutObj(new RectOffset(6, 6, 6, 6), 1, TextAnchor.UpperCenter); UIFunctions.SetRect(verticalLayout, transform, new Vector2(0, 1), new Vector2(0, 1), new Vector2(85, -40), new Vector2(150, 80)); TextMeshProUGUI matLabelText = BeatSaberUI.CreateText(verticalLayout, helpText, new Vector2(0, 0), new Vector2(100, 80)); //format matLabelText.alignment = TextAlignmentOptions.Top; //donate button Button donate = BeatSaberUI.CreateUIButton(transform as RectTransform, "PlayButton", new Vector2(-50, -33), new Vector2(50, 16), null, "DONATE <3"); donate.onClick.AddListener(() => { GoTo("https://ko-fi.com/frostdragonliz", donate); }); BeatSaberUI.AddHintText(donate.transform as RectTransform, "Kofi $$ will go towards future mod and part development, ta!"); //reload assets button TO DO // Button reload = BeatSaberUI.CreateUIButton(transform as RectTransform, "PlayButton", new Vector2(0, -33), new Vector2(50, 16), null, "USER TEXTURES"); // reload.onClick.AddListener(() => { Plugin.ReloadAssets(); }); // BeatSaberUI.AddHintText(reload.transform as RectTransform, "Force a reload of SaberForge Assets"); //tutes button Button tutorials = BeatSaberUI.CreateUIButton(transform as RectTransform, "PlayButton", new Vector2(8, -33), new Vector2(50, 16), null, "TUTORIALS"); tutorials.onClick.AddListener(() => { GoTo("https://www.youtube.com/playlist?list=PLyJh_4G6B76PPdL-rAmb44-475D0_0UBs", tutorials); }); BeatSaberUI.AddHintText(tutorials.transform as RectTransform, "YouTube Tutorials"); //github button Button github = BeatSaberUI.CreateUIButton(transform as RectTransform, "PlayButton", new Vector2(60, -33), new Vector2(50, 16), null, "SOURCE"); github.onClick.AddListener(() => { GoTo("https://github.com/lizfrost/SaberForge", github); }); BeatSaberUI.AddHintText(github.transform as RectTransform, "Source and mod info"); }
public void SearchButtonPressed() { if (_searchFlowCoordinator == null) { _searchFlowCoordinator = BeatSaberUI.CreateFlowCoordinator <SearchFlowCoordinator>(); _searchFlowCoordinator.name = "EnhancedSearchFlowCoordinator"; _searchFlowCoordinator.BackButtonPressed += DismissSearchFlowCoordinator; _searchFlowCoordinator.SongSelected += SelectSongFromSearchResult; _searchFlowCoordinator.SearchFilterButtonPressed += ApplySearchFilter; } IAnnotatedBeatmapLevelCollection levelPack; if (SongBrowserTweaks.Initialized) { if (SongBrowserTweaks.IsFilterApplied()) { levelPack = LevelSelectionNavigationController.GetPrivateField <IBeatmapLevelPack>("_levelPack", typeof(LevelSelectionNavigationController)); } // technically, the _lastPack doesn't actually contain the pack being shown // (since SongBrowser always overrides the selected pack with its own pack to handle sorting/filtering) // but any non-filtered level pack is going to contain the same levels anyways // and i'll need the true level pack ID for word storage caching else { levelPack = _lastPack; } } else if (FilterList.AnyApplied) { levelPack = _filteredLevelPack; } else { levelPack = _lastPack; } _searchFlowCoordinator.Activate(_freePlayFlowCoordinator, levelPack); if (!ButtonPanel.IsSingletonAvailable || !ButtonPanel.instance.Initialized) { Logger.log.Debug("'Search' button pressed."); } }
public override void __Activate(ActivationType activationType) { selected = SaberLoader.FindSaberByName(Plugin._currentSaberName); base.__Activate(activationType); _customListTableView.SelectCellWithIdx(selected); if (_backButton == null) { _backButton = BeatSaberUI.CreateBackButton(rectTransform as RectTransform); _backButton.onClick.AddListener(delegate() { backButtonPressed?.Invoke(); SaberPreviewController.Instance.DestroyPreview(); _customListTableView.didSelectCellWithIdxEvent -= _sabersTableView_DidSelectRowEvent; if (menuShockwave) { menuShockwave.enabled = menuShockwaveOriginalState; } }); } PreviewCurrent(); if (menuShockwave) { menuShockwaveOriginalState = menuShockwave.enabled; menuShockwave.enabled = false; } var _versionNumber = BeatSaberUI.CreateText(rectTransform, "Text", new Vector2(-10f, -10f)); (_versionNumber.transform as RectTransform).anchoredPosition = new Vector2(-10f, 10f); (_versionNumber.transform as RectTransform).anchorMax = new Vector2(1f, 0f); (_versionNumber.transform as RectTransform).anchorMin = new Vector2(1f, 0f); _versionNumber.text = $"v{Plugin.PluginVersion}"; _versionNumber.fontSize = 5; _versionNumber.color = Color.white; _customListTableView.didSelectCellWithIdxEvent += _sabersTableView_DidSelectRowEvent; _customListTableView.ScrollToCellWithIdx(selected, TableViewScroller.ScrollPositionType.Beginning, false); _customListTableView.SelectCellWithIdx(selected, false); }
protected override void DidActivate(bool firstActivation, ActivationType activationType) { if (activationType == ActivationType.AddedToHierarchy) { title = "Media Panel"; if (mainFlowCoordinator == null) { mainFlowCoordinator = Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().First(); } mainModNavigationController = BeatSaberUI.CreateViewController <GeneralNavigationController>(); mainModNavigationController.didFinishEvent += (_) => mainFlowCoordinator.InvokeMethod("DismissFlowCoordinator", this, null, false); ProvideInitialViewControllers(mainModNavigationController, null, null); OpenFileList(); } }
protected override void DidActivate(bool firstActivation, ActivationType activationType) { if (firstActivation) { title = "Platform Select"; ui = PlatformUI._instance; } if (_platformListViewController == null) { _platformListViewController = BeatSaberUI.CreateViewController <PlatformListViewController>(); _platformListViewController.platformListBackWasPressed += Dismiss; } if (activationType == FlowCoordinator.ActivationType.AddedToHierarchy) { ProvideInitialViewControllers(_platformListViewController, null, null); } }
public void Awake() { if (!saberPreviewView) { saberPreviewView = BeatSaberUI.CreateViewController <SaberPreviewViewController>(); } if (!saberSettingsView) { saberSettingsView = BeatSaberUI.CreateViewController <SaberSettingsViewController>(); } if (!saberListView) { saberListView = BeatSaberUI.CreateViewController <SaberListViewController>(); saberListView.customSaberChanged += saberPreviewView.OnSaberWasChanged; } }
private void roomSelection_MatchCreated() { var match = new Match { Guid = Guid.NewGuid().ToString(), // Always a player when is the client Player = Plugin.client.SelfObject as Player }; match.Players.Add(Plugin.client.SelfObject as Player); Plugin.client.CreateMatch(match); _roomCoordinator = BeatSaberUI.CreateFlowCoordinator <RoomCoordinator>(); _roomCoordinator.DidFinishEvent += roomCoordinator_DidFinishEvent; _roomCoordinator.Match = match; PresentFlowCoordinator(_roomCoordinator); }
protected override void DidActivate(bool firstActivation, ActivationType activationType) { if (firstActivation) { if (activationType == ActivationType.AddedToHierarchy) { _backButton = BeatSaberUI.CreateBackButton(rectTransform); _backButton.onClick.AddListener(delegate() { if (!_isInTransition && !_parentViewController.GetPrivateField <bool>("_isInTransition")) { didFinishEvent?.Invoke(); } }); _loadingIndicator = BeatSaberUI.CreateLoadingSpinner(rectTransform); _loadingIndicator.SetActive(false); } } }
protected override void DidActivate(bool firstActivation, ActivationType activationType) { if (firstActivation) { title = "BeFit Users"; ui = BeFitUI._instance; } if (_beFitListViewController == null) { _beFitListViewController = BeatSaberUI.CreateViewController <BeFitListViewController>(); _beFitListViewController.beFitListBackWasPressed += Dismiss; _beFitListViewController.beFitListNewUserPressed += Dismiss; } if (activationType == FlowCoordinator.ActivationType.AddedToHierarchy) { ProvideInitialViewControllers(_beFitListViewController, null, null); } }