Exemplo n.º 1
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 });
            });
        }
Exemplo n.º 2
0
        /*
         * 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 });
        }