public MenuButtonManager(ISocialPlatform socialPlatform, ActionFlowCoordinator actionFlowCoordinator, MainFlowCoordinator mainFlowCoordinator) { _socialPlatform = socialPlatform; _mainFlowCoordinator = mainFlowCoordinator; _actionFlowCoordinator = actionFlowCoordinator; _menuButton = new MenuButton(nameof(Actions), ShowFlow); }
[Inject] internal void Construct(MainFlowCoordinator mfc, ModSettingsViewController msvc, ModInfoViewController mivc, ObjectPreviewViewController opvc) { MainFlowCoordinator = mfc; ModSettings = msvc; ModInfo = mivc; PreviewController = opvc; }
/// <summary> /// Creates a FlowCoordinator of type T, and marks it to not be destroyed. /// </summary> /// <typeparam name="T">The variation of FlowCoordinator you want to create.</typeparam> /// <returns>The newly created FlowCoordinator of type T.</returns> public static T CreateFlowCoordinator <T>() where T : FlowCoordinator { T flow = new GameObject(typeof(T).Name).AddComponent <T>(); flow.SetField <FlowCoordinator, BaseInputModule>("_baseInputModule", MainFlowCoordinator.GetField <BaseInputModule, FlowCoordinator>("_baseInputModule")); return(flow); }
/// <summary> /// Get a handle to the view controllers we are going to add elements to. /// </summary> public void AcquireUIElements() { Logger.Trace("AcquireUIElements()"); try { CachedIcons = new Dictionary <String, Sprite>(); foreach (Sprite sprite in Resources.FindObjectsOfTypeAll <Sprite>()) { if (CachedIcons.ContainsKey(sprite.name)) { continue; } //Logger.Debug("Adding Icon: {0}", sprite.name); CachedIcons.Add(sprite.name, sprite); } // Append our own event to appropriate events so we can refresh the song list before the user sees it. MainFlowCoordinator mainFlow = Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().First(); Button soloFreePlayButton = Resources.FindObjectsOfTypeAll <Button>().First(x => x.name == "SoloFreePlayButton"); Button partyFreePlayButton = Resources.FindObjectsOfTypeAll <Button>().First(x => x.name == "PartyFreePlayButton"); soloFreePlayButton.onClick.AddListener(HandleSoloModeSelection); partyFreePlayButton.onClick.AddListener(HandlePartyModeSelection); } catch (Exception e) { Logger.Exception("Exception AcquireUIElements(): ", e); } }
private void CreateOnlineButton() { _newVersionText = BeatSaberUI.CreateText(_mainMenuRectTransform, "A new version of the mod\nis available!", new Vector2(55.5f, 33f)); _newVersionText.fontSize = 5f; _newVersionText.lineSpacing = -52; _newVersionText.gameObject.SetActive(false); Button[] mainButtons = Resources.FindObjectsOfTypeAll <RectTransform>().First(x => x.name == "MainButtons" && x.parent.name == "MainMenuViewController").GetComponentsInChildren <Button>(); foreach (var item in mainButtons) { (item.transform as RectTransform).sizeDelta = new Vector2(35f, 30f); } _multiplayerButton = BeatSaberUI.CreateUIButton(_mainMenuRectTransform, "CampaignButton"); _multiplayerButton.transform.SetParent(mainButtons.First(x => x.name == "CampaignButton").transform.parent); _multiplayerButton.transform.SetSiblingIndex(3); _multiplayerButton.SetButtonText("Online"); _multiplayerButton.SetButtonIcon(Sprites.onlineIcon); _multiplayerButton.onClick.AddListener(delegate() { try { MainFlowCoordinator mainFlow = Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().First(); mainFlow.InvokeMethod("PresentFlowCoordinator", modeSelectionFlowCoordinator, null, false, false); } catch (Exception e) { Misc.Logger.Exception($"Unable to present flow coordinator! Exception: {e}"); } }); }
void Awake() { Instance = this; foreach (Sprite sprite in Resources.FindObjectsOfTypeAll <Sprite>()) { Icons.Add(sprite); } try { var allButtons = Resources.FindObjectsOfTypeAll <Button>(); _buttonInstance = Resources.FindObjectsOfTypeAll <Button>().First(x => x.name == "QuitButton"); _cogWheelButtonInstance = allButtons.FirstOrDefault(x => x.name == "SettingsButton"); _downArrowBtn = allButtons.First(x => x.name == "PageDownButton"); _upArrowBtn = allButtons.First(x => x.name == "PageUpButton"); _backButtonInstance = allButtons.First(x => x.name == "BackArrowButton"); _mainMenuViewController = Resources.FindObjectsOfTypeAll <MainMenuViewController>().First(); _menuMasterViewController = Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().First(); _mainMenuRectTransform = (RectTransform)_buttonInstance.transform.parent; AddCustomSaberButton(); } catch (Exception) { } }
public void Construct(MainFlowCoordinator mainFlow, NoteListViewController noteListView, NoteDetailsViewController noteDetailsView, NotePreviewViewController notePreviewView) { _mainFlow = mainFlow; _noteListView = noteListView; _noteDetailsView = noteDetailsView; _notePreviewView = notePreviewView; }
protected override void DidActivate(bool firstActivation, ActivationType activationType) { if (firstActivation) { title = "Select Mode"; AvatarController.LoadAvatars(); _multiplayerNavController = BeatSaberUI.CreateViewController <MultiplayerNavigationController>(); _multiplayerNavController.didFinishEvent += () => { MainFlowCoordinator mainFlow = Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().First(); mainFlow.InvokeMethod("DismissFlowCoordinator", this, null, false); }; _selectionViewController = BeatSaberUI.CreateViewController <ModeSelectionViewController>(); _selectionViewController.didSelectRooms += () => { if (!mainScreenViewControllers.Any(x => x.GetPrivateField <bool>("_isInTransition"))) { PresentFlowCoordinator(PluginUI.instance.serverHubFlowCoordinator); } }; _selectionViewController.didSelectRadio += () => { if (!mainScreenViewControllers.Any(x => x.GetPrivateField <bool>("_isInTransition"))) { PresentFlowCoordinator(PluginUI.instance.channelSelectionFlowCoordinator); } }; } SetViewControllerToNavigationConctroller(_multiplayerNavController, _selectionViewController); ProvideInitialViewControllers(_multiplayerNavController, null, null); }
void Awake() { Instance = this; //DontDestroyOnLoad(gameObject); foreach (Sprite sprite in Resources.FindObjectsOfTypeAll <Sprite>()) { Icons.Add(sprite); } try { // Get necessary button instances and main menu VC var allButtons = Resources.FindObjectsOfTypeAll <Button>(); _buttonInstance = Resources.FindObjectsOfTypeAll <Button>().First(x => x.name == "QuitButton"); _cogWheelButtonInstance = allButtons.FirstOrDefault(x => x.name == "SettingsButton"); _downArrowBtn = allButtons.First(x => x.name == "PageDownButton"); _upArrowBtn = allButtons.First(x => x.name == "PageUpButton"); _backButtonInstance = allButtons.First(x => x.name == "BackArrowButton"); _mainMenuViewController = Resources.FindObjectsOfTypeAll <MainMenuViewController>().First(); _menuMasterViewController = Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().First(); _mainMenuRectTransform = (RectTransform)_buttonInstance.transform.parent; AddModMenuButton(); } catch (Exception ex) { } }
public void Construct(XInfoView infoView, MainFlowCoordinator mainFlowCoordinator, XSettingsNavigationController settingsNavigationView, ClockSettingsInfoView clockSettingsInfoView, ClockSettingsPosColView clockSettingsPosColView, ClockSettingsFormatView clockSettingsFormatView, TimersSettingsInfoView timersSettingsInfoView, BreaktimeSettingsInfoView breaktimeSettingsInfoView, BreaktimeSettingsGlobalView breaktimeSettingsGlobalView, BreaktimeSettingsProfileView breaktimeSettingsProfileView, VolumeSettingsInfoView volumeSettingsInfoView, MiscSettingsInfoView miscSettingsInfoView, ExtraTweaksSettingsView extraTweaksSettingsView) { _infoView = infoView; _mainFlowCoordinator = mainFlowCoordinator; _settingsNavigationView = settingsNavigationView; _clockSettingsInfoView = clockSettingsInfoView; _clockSettingsPosColView = clockSettingsPosColView; _clockSettingsFormatView = clockSettingsFormatView; _timersSettingsInfoView = timersSettingsInfoView; _breaktimeSettingsInfoView = breaktimeSettingsInfoView; _breaktimeSettingsGlobalView = breaktimeSettingsGlobalView; _breaktimeSettingsProfileView = breaktimeSettingsProfileView; _volumeSettingsInfoView = volumeSettingsInfoView; _miscSettingsInfoView = miscSettingsInfoView; _extraTweaksSettingsView = extraTweaksSettingsView; }
protected override void BackButtonWasPressed(ViewController topViewController) { // Dismiss ourselves MainFlowCoordinator mainFlow = BeatSaberUI.MainFlowCoordinator; mainFlow.InvokePrivateMethod("DismissFlowCoordinator", this, null, false); }
private void CreateOnlineButton() { _newVersionText = BeatSaberUI.CreateText(_mainMenuRectTransform, "A new version of the mod\nis available!", new Vector2(18.25f, 30f)); _newVersionText.fontSize = 6f; _newVersionText.alignment = TextAlignmentOptions.Center; _newVersionText.gameObject.SetActive(false); _multiplayerButton = BeatSaberUI.CreateUIButton(_mainMenuRectTransform, "SoloFreePlayButton"); _multiplayerButton.transform.SetParent(Resources.FindObjectsOfTypeAll <Button>().First(x => x.name == "SoloFreePlayButton").transform.parent); _multiplayerButton.transform.SetSiblingIndex(2); _multiplayerButton.SetButtonText("Online"); _multiplayerButton.SetButtonIcon(Sprites.onlineIcon); _multiplayerButton.onClick.AddListener(delegate() { try { MainFlowCoordinator mainFlow = Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().First(); mainFlow.InvokeMethod("PresentFlowCoordinator", modeSelectionFlowCoordinator, null, false, false); } catch (Exception e) { Misc.Logger.Exception($"Unable to present flow coordinator! Exception: {e}"); } }); }
private void Inject(MainFlowCoordinator mainFlowCoordinator, AvatarListViewController avatarListViewController, MirrorViewController mirrorViewController, SettingsViewController settingsViewController) { _mainFlowCoordinator = mainFlowCoordinator; _avatarListViewController = avatarListViewController; _mirrorViewController = mirrorViewController; _settingsViewController = settingsViewController; }
private void SceneManagerOnActiveSceneChanged(Scene arg0, Scene scene) { if (AreSongsLoading) { //Scene changing while songs are loading. Since we are using a separate thread while loading, this is bad and could cause a crash. //So we have to stop loading. if (_loadingTask != null) { _loadingTask.Cancel(); _loadingCancelled = true; AreSongsLoading = false; LoadingProgress = 0; StopAllCoroutines(); _progressBar.ShowMessage("Loading cancelled\n<size=80%>Press Ctrl+R to refresh</size>"); Log("Loading was cancelled by player since they loaded another scene."); } } StartCoroutine(WaitRemoveScores()); if (scene.buildIndex == 1) { _mainFlowCoordinator = Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().FirstOrDefault(); _mainFlowCoordinator.SetPrivateField("_levelCollectionsForGameplayModes", _customLevelCollectionsForGameplayModes); _standardLevelDetailViewController = Resources.FindObjectsOfTypeAll <StandardLevelDetailViewController>().FirstOrDefault(); if (_standardLevelDetailViewController == null) { return; } _standardLevelDetailViewController.didPressPlayButtonEvent += StandardLevelDetailControllerOnDidPressPlayButtonEvent; var standardLevelListViewController = Resources.FindObjectsOfTypeAll <StandardLevelListViewController>().FirstOrDefault(); if (standardLevelListViewController == null) { return; } standardLevelListViewController.didSelectLevelEvent += StandardLevelListViewControllerOnDidSelectLevelEvent; } else if (scene.buildIndex == 5) { if (NoteHitVolumeChanger.PrefabFound) { return; } var mainGameData = Resources.FindObjectsOfTypeAll <MainGameSceneSetupData>().FirstOrDefault(); if (mainGameData == null) { return; } var level = mainGameData.difficultyLevel.level; var song = CustomLevels.FirstOrDefault(x => x.levelID == level.levelID); if (song == null) { return; } NoteHitVolumeChanger.SetVolume(song.customSongInfo.noteHitVolume, song.customSongInfo.noteMissVolume); } }
public void Construct(MacroDash macroDash, ActionMainView mainView, ActionMacroView macroView, UserManagerDash userManagerDash, MainFlowCoordinator mainFlowCoordinator) { _mainView = mainView; _macroView = macroView; _macroDash = macroDash; _userManagerDash = userManagerDash; _mainFlowCoordinator = mainFlowCoordinator; }
public void Init() { _mainFlowCoordinator = Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().FirstOrDefault(); _mainFlowCoordinator.GetPrivateField <MainMenuViewController>("_mainMenuViewController").didFinishEvent += SongListTweaks_didFinishEvent; BSEvents.levelSelected += HandleDidSelectLevel; YouTubeDownloader.Instance.downloadProgress += VideoDownloaderDownloadProgress; songPreviewPlayer = Resources.FindObjectsOfTypeAll <SongPreviewPlayer>().First(); }
public void Hide() { resultsViewController.continueButtonPressedEvent -= OnContinueButtonPressed; resultsViewController.restartButtonPressedEvent -= OnRestartButtonPressed; mainFlowCoordinator = Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().First(); BeatSaberUI.DismissFlowCoordinator(mainFlowCoordinator, this); }
private void MenuButtonPressed() { _mainFlowCoordinator = Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().First(); _modeSelectionCoordinator = BeatSaberUI.CreateFlowCoordinator <ModeSelectionCoordinator>(); _modeSelectionCoordinator.DidFinishEvent += modeSelectionCoordinator_DidFinishEvent; _mainFlowCoordinator.PresentFlowCoordinatorOrAskForTutorial(_modeSelectionCoordinator); }
public void Construct(DiColorsInfoView infoView, DiColorsMenuColorView menuColorView, DiColorsGameColorView gameColorView, MainFlowCoordinator mainFlowCoordinator) { _infoView = infoView; //_profileView = profileView; _menuColorView = menuColorView; _gameColorView = gameColorView; _mainFlowCoordinator = mainFlowCoordinator; }
private void Awake() { _instance = this; _mainFlowCoordinator = Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().First(); SceneManager.sceneLoaded += SceneManager_sceneLoaded; DontDestroyOnLoad(gameObject); CreatePlatformsButton(); CreateSettingsUI(); }
public MenuButtonManager(MainFlowCoordinator mainFlowCoordinator, PluginConfig pluginConfig, ShadersFlowCoordinator shadersFlowCoordinator, ShaderManager shaderManager) { _mainFlowCoordinator = mainFlowCoordinator; _pluginConfig = pluginConfig; _shadersFlowCoordinator = shadersFlowCoordinator; _shaderManager = shaderManager; _menuButton = new MenuButton("Shaders", "Inspect Screen Space Shaders Here!", ShowNotesFlow, true); //_clearEffectButton = new MenuButton("[SE] Clear", "Clear all camera effects", ClearAllMaterialsButton, true); }
public void Construct(MainFlowCoordinator mainFlow, ShaderListViewController shaderListViewController, ShaderPropertyListViewController shaderPropertyListViewController, ShaderDetailsViewController shaderDetailsViewController, PluginConfig pluginConfig, ShaderManager shaderManager) { _mainFlow = mainFlow; _shaderListView = shaderListViewController; _shaderProperyListView = shaderPropertyListViewController; _shaderDetailsView = shaderDetailsViewController; _pluginConfig = pluginConfig; _shaderManager = shaderManager; }
private void AlphaTwitchButtonPressed() { _alphaTwitchFlowCoordinator = new GameObject("AlphaTwitchFlowCoordinator").AddComponent <AlphaTwitchFlowCoordinator>(); MainFlowCoordinator mainFlow = Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().First(); _alphaTwitchFlowCoordinator.mainFlowCoordinator = mainFlow; mainFlow.InvokeMethod("PresentFlowCoordinator", _alphaTwitchFlowCoordinator, null, false, false); }
private void _moreSongsNavigationController_didFinishEvent() { if (!_downloadQueueViewController.queuedSongs.Any(x => x.songQueueState == SongQueueState.Downloading || x.songQueueState == SongQueueState.Queued)) { MainFlowCoordinator mainFlow = Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().First(); mainFlow.InvokeMethod("DismissFlowCoordinator", this, null, false); } }
public void Construct(PlatformListsView platformsListView, ChangelogView changelogView, SettingsView settingsView, MainFlowCoordinator mainFlowCoordinator) { _platformsListView = platformsListView; _changelogView = changelogView; _settingsView = settingsView; _mainFlowCoordinator = mainFlowCoordinator; }
public void BeatBoardsButtonPressed() { if (bbmFlowCoordinator == null) { bbmFlowCoordinator = new GameObject("BeatBoards: Flow Coordinator").AddComponent <BeatBoardsMenuFlowCoordinator>(); } MainFlowCoordinator mainFlow = Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().First(); mainFlow.InvokeMethod("PresentFlowCoordinator", bbmFlowCoordinator, null, false, false); }
private void Construct(MainFlowCoordinator mainFlowCoordinator, ImageListView imageListView, SettingsView settingsView, PluginConfig config, PillowSpawner pillowSpawner, Initializer initializer) { _mainFlowCoordinator = mainFlowCoordinator; _imageListView = imageListView; _settingsView = settingsView; _config = config; _pillowSpawner = pillowSpawner; _initializer = initializer; }
internal static void OnClick() { if (settingsFC == null) { settingsFC = new GameObject("Counters+ | Settings Flow Coordinator").AddComponent <CountersPlusSettingsFlowCoordinator>(); } MainFlowCoordinator main = Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().First(); main.InvokeMethod("PresentFlowCoordinator", settingsFC, null, false, false); }
public IEnumerator JoinGameWithSecret(string secret) { yield return(null); MainFlowCoordinator mainFlow = Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().First(); mainFlow.InvokeMethod("PresentFlowCoordinator", modeSelectionFlowCoordinator, null, true, false); modeSelectionFlowCoordinator.JoinGameWithSecret(secret); }
public void PlaylistsButtonPressed() { if (morePlaylistsFlowCoordinator == null) { morePlaylistsFlowCoordinator = new GameObject("MorePlaylistsFlowCoordinator").AddComponent <MorePlaylistsFlowCoordinator>(); } MainFlowCoordinator mainFlow = Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().First(); mainFlow.InvokeMethod("PresentFlowCoordinator", morePlaylistsFlowCoordinator, null, false, false); }