Exemplo n.º 1
0
        /// <returns>true to cancel</returns>
        protected virtual bool OnExitRequested()
        {
            if (ExitRequested)
            {
                return(false);
            }

            bool?response = null;

            UpdateScheduler.Add(delegate
            {
                response = Exiting?.Invoke() == true;
            });

            //wait for a potentially blocking response
            while (!response.HasValue)
            {
                Thread.Sleep(1);
            }

            if (response.Value)
            {
                return(true);
            }

            Exit();
            return(false);
        }
Exemplo n.º 2
0
        protected override void LoadGame(BaseGame game)
        {
            //delay load until we have a size.
            if (Size == Vector2.Zero)
            {
                UpdateScheduler.Add(delegate { LoadGame(game); });
                return;
            }

            base.LoadGame(game);
        }
Exemplo n.º 3
0
        private void window_ClientSizeChanged(object sender, EventArgs e)
        {
            if (Window.WindowState == WindowState.Minimized)
            {
                return;
            }

            var size = Window.ClientSize;

            UpdateScheduler.Add(delegate
            {
                //set base.Size here to avoid the override below, which would cause a recursive loop.
                base.Size = new Vector2(size.Width, size.Height);
            });
        }
Exemplo n.º 4
0
        private void window_ClientSizeChanged(object sender, EventArgs e)
        {
            if (Window.WindowState == WindowState.Minimized)
            {
                return;
            }

            var size = Window.ClientSize;

            //When minimizing, there will be an "size zero, but WindowState not Minimized" state.
            if (size.IsEmpty)
            {
                return;
            }
            UpdateScheduler.Add(delegate
            {
                //set base.Size here to avoid the override below, which would cause a recursive loop.
                base.Size = new Vector2(size.Width, size.Height);
            });
        }