/// <summary>
        /// Remove window from stack.
        /// </summary>
        private void RemoveWindow()
        {
            UserInterfaceWindow oldWindow = TopWindow;

            if (oldWindow != null && !(TopWindow is UserInterfaceWindows.DaggerfallHUD))
            {
                windows.Pop();
                oldWindow.OnPop();
                if (TopWindow != null)
                {
                    TopWindow.OnReturn();
                }
            }

            if (DaggerfallUI.Instance.enableHUD)
            {
                if (windows.Count <= 1 && GameManager.HasInstance)
                {
                    GameManager.Instance.PauseGame(false);
                    GameManager.Instance.PlayerActivate.SetClickDelay();
                }
            }
            else
            {
                if (windows.Count < 1 && GameManager.HasInstance)
                {
                    GameManager.Instance.PauseGame(false);
                    GameManager.Instance.PlayerActivate.SetClickDelay();
                }
            }
        }
 /// <summary>
 /// Add window to stack.
 /// </summary>
 private void AddWindow(UserInterfaceWindow window)
 {
     windows.Push(window);
     window.OnPush();
     if (window.PauseWhileOpen && GameManager.HasInstance)
     {
         GameManager.Instance.PauseGame(true);
     }
 }
예제 #3
0
 /// <summary>
 /// Add window to stack.
 /// </summary>
 private void AddWindow(UserInterfaceWindow window)
 {
     windows.Push(window);
     window.OnPush();
     //OnWindowChange += window.WindowChanged;
     if (window.PauseWhileOpen)
     {
         GameManager.Instance.PauseGame(true);
     }
 }
예제 #4
0
        /// <summary>
        /// Push a new window onto the stack.
        /// </summary>
        /// <param name="window">New window.</param>
        public void PushWindow(UserInterfaceWindow window)
        {
            // Add window
            AddWindow(window);

            // Raise event
            if (OnWindowChange != null)
            {
                OnWindowChange(this, null);
            }
        }
        /// <summary>
        /// Push a new window onto the stack.
        /// </summary>
        /// <param name="window">New window.</param>
        public void PushWindow(UserInterfaceWindow window)
        {
            // Add window
            AddWindow(window);

            // Clear all user input from world
            InputManager.Instance.ClearAllActions();

            // Raise event
            if (OnWindowChange != null)
            {
                OnWindowChange(this, null);
            }
        }
 public DaggerfallInputMessageBox(
     IUserInterfaceManager uiManager,
     TextFile.Token[] textTokens,
     int maxCharacters = 31,
     string textBoxLabel = null,
     bool useParchmentBackGround = true,
     UserInterfaceWindow previous = null)
     : base(uiManager, previous)
 {
     this.textBox.MaxCharacters = maxCharacters;
     this.useParchmentStyle = useParchmentBackGround;
     this.SetTextBoxLabel(textBoxLabel);
     SetupBox(textTokens);
 }
예제 #7
0
        /// <summary>
        /// Remove window from stack.
        /// </summary>
        private void RemoveWindow()
        {
            UserInterfaceWindow oldWindow = TopWindow;

            if (oldWindow != null)
            {
                //OnWindowChange -= oldWindow.WindowChanged;
                oldWindow.OnPop();
                windows.Pop();
            }
            if (windows.Count <= 1)
            {
                GameManager.Instance.PauseGame(false);
            }
        }
예제 #8
0
        /// <summary>
        /// Replace entire stack with a new window.
        /// </summary>
        /// <param name="window">New window.</param>
        public void ChangeWindow(UserInterfaceWindow window)
        {
            // We are changing windows so pop everything
            while (windows.Count > 0)
            {
                RemoveWindow();
            }

            // Reset draw order
            AddWindow(window);

            if (OnWindowChange != null)
            {
                OnWindowChange(this, null);
            }
        }
        /// <summary>
        /// Remove window from stack.
        /// </summary>
        private void RemoveWindow()
        {
            UserInterfaceWindow oldWindow = TopWindow;

            if (oldWindow != null)
            {
                oldWindow.OnPop();
                windows.Pop();
                if (TopWindow != null)
                {
                    TopWindow.OnReturn();
                }
            }
            if (windows.Count <= 1 && GameManager.HasInstance)
            {
                GameManager.Instance.PauseGame(false);
            }
        }
예제 #10
0
 /// <summary>
 /// Checks stack for a specific window.
 /// </summary>
 /// <param name="window">Window to look for.</param>
 /// <returns>True if window exists on stack.</returns>
 public bool ContainsWindow(UserInterfaceWindow window)
 {
     return(windows.Contains(window));
 }
 /// <summary>
 /// Add window to stack.
 /// </summary>
 private void AddWindow(UserInterfaceWindow window)
 {
     windows.Push(window);
     window.OnPush();
     //OnWindowChange += window.WindowChanged;
     if(window.PauseWhileOpen && GameManager.HasInstance)
         GameManager.Instance.PauseGame(true);
 }
        /// <summary>
        /// Push a new window onto the stack.
        /// </summary>
        /// <param name="window">New window.</param>
        public void PushWindow(UserInterfaceWindow window)
        {
            // Add window
            AddWindow(window);

            // Clear all user input from world
            InputManager.Instance.ClearAllActions();

            // Raise event
            if (OnWindowChange != null)
                OnWindowChange(this, null);
        }
 /// <summary>
 /// Checks stack for a specific window.
 /// </summary>
 /// <param name="window">Window to look for.</param>
 /// <returns>True if window exists on stack.</returns>
 public bool ContainsWindow(UserInterfaceWindow window)
 {
     return (windows.Contains(window));
 }
        /// <summary>
        /// Replace entire stack with a new window.
        /// </summary>
        /// <param name="window">New window.</param>
        public void ChangeWindow(UserInterfaceWindow window)
        {
            // We are changing windows so pop everything
            while (windows.Count > 0)
                RemoveWindow();

            // Reset draw order
            AddWindow(window);

            if (OnWindowChange != null)
                OnWindowChange(this, null);
        }
        /// <summary>
        /// Push a new window onto the stack.
        /// </summary>
        /// <param name="window">New window.</param>
        public void PushWindow(UserInterfaceWindow window)
        {
            // Add window
            AddWindow(window);

            // Raise event
            if (OnWindowChange != null)
                OnWindowChange(this, null);
        }