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 }); }); }
/* * protected override void DidActivate(bool firstActivation, ActivationType activationType) * { * if (firstActivation) * { * * title = "Saber Select"; * * ui = CustomSaberUI._instance; * _saberListViewController = BeatSaberUI.CreateViewController<SaberListViewController>(); * _saberListViewController.backButtonPressed += Dismiss; * } * * if (activationType == FlowCoordinator.ActivationType.AddedToHierarchy) * { * ProvideInitialViewControllers(_saberListViewController, null, null); * } * }*/ void Dismiss() { ReflectionUtil.InvokePrivateMethod((mainFlowCoordinator as FlowCoordinator), "DismissFlowCoordinator", new object[] { this, null, false }); }