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(); }); }
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(); } }