Ejemplo n.º 1
0
        public static void Open()
        {
            if (!isClosed)
            {
                return;
            }

            isClosed = false;
            var menu = new MenuCharacterCreation();

            instance = menu;

            Api.Client.UI.LayoutRootChildren.Add(instance);

            Menu.CloseAll();

            // ReSharper disable once CanExtractXamlLocalizableStringCSharp
            inputContext = ClientInputContext.Start("Character creation menu - intercept all other input")
                           .HandleAll(
                () =>
            {
                if (ClientInputManager.IsButtonDown(GameButton.CancelOrClose))
                {
                    MainMenuOverlay.Toggle();
                }

                ClientInputManager.ConsumeAllButtons();
            });
        }
Ejemplo n.º 2
0
        private void Open()
        {
            if (this.isOpened)
            {
                return;
            }

            this.isOpened = true;
            this.UpdateLayout();
            this.storyboardFadeIn?.Begin(this);

            Menu.CloseAll();

            // ReSharper disable once CanExtractXamlLocalizableStringCSharp
            inputContext = ClientInputContext.Start("Respawn menu - intercept all other input")
                           .HandleAll(
                () =>
            {
                if (ClientInputManager.IsButtonDown(GameButton.CancelOrClose))
                {
                    MainMenuOverlay.Toggle();
                }

                ClientInputManager.ConsumeAllButtons();
            });
        }
            public override void Update(double deltaTime)
            {
                var loadingScreenState = LoadingSplashScreenManager.Instance.CurrentState;

                if (loadingScreenState == LoadingSplashScreenState.Shown ||
                    loadingScreenState == LoadingSplashScreenState.Showing)
                {
                    // don't process input while the loading screen is shown or showing
                    // (except for the console)
                    if (IsButtonDown(GameButton.ToggleDeveloperConsole,
                                     evenIfHandled: true))
                    {
                        ConsoleControl.Toggle();
                    }

                    // (except for the main menu)
                    if (IsButtonDown(GameButton.CancelOrClose))
                    {
                        MainMenuOverlay.Toggle();
                    }

                    return;
                }

                // acquire frozen list of contexts
                var contexts = ClientInputContext.CurrentContexts.FrozenList;

                // iterate it in the reverse order
                for (var index = contexts.Count - 1; index >= 0; index--)
                {
                    var context = contexts[index];
                    context.Update();
                }
            }