Esempio n. 1
0
        internal void ScreenChanged( Screen oldScreen, Screen newScreen )
        {
            if( oldScreen != null && oldScreen.HandlesAllInput )
                lastClick = DateTime.UtcNow;

            if( game.Network.UsingPlayerClick ) {
                byte targetId = game.Players.GetClosetPlayer( game.LocalPlayer );
                ButtonStateChanged( MouseButton.Left, false, targetId );
                ButtonStateChanged( MouseButton.Right, false, targetId );
                ButtonStateChanged( MouseButton.Middle, false, targetId );
            }
        }
Esempio n. 2
0
        public void SetNewScreen( Screen screen )
        {
            InputHandler.ScreenChanged( activeScreen, screen );

            if( activeScreen != null )
                activeScreen.Dispose();
            activeScreen = screen;
            if( screen != null )
                screen.Init();
        }
Esempio n. 3
0
        public void ShowWarning( WarningScreen screen )
        {
            if( !(activeScreen is WarningScreen) ) {
                screen.lastScreen = activeScreen;
                activeScreen = screen;

                screen.lastCursorVisible = CursorVisible;
                if( !CursorVisible) CursorVisible = true;
            } else {
                screen.lastCursorVisible = WarningScreens[0].lastCursorVisible;
            }
            WarningScreens.Add( screen );
            screen.Init();
        }
Esempio n. 4
0
        public void SetNewScreen( Screen screen )
        {
            // don't switch to the new screen immediately if the user
            // is currently looking at a warning dialog.
            if( activeScreen is WarningScreen ) {
                WarningScreen warning = (WarningScreen)activeScreen;
                if( warning.lastScreen != null )
                    warning.lastScreen.Dispose();

                warning.lastScreen = screen;
                if( warning.lastScreen != null )
                    screen.Init();
                return;
            }
            InputHandler.ScreenChanged( activeScreen, screen );
            if( activeScreen != null )
                activeScreen.Dispose();

            if( screen == null ) {
                hudScreen.GainFocus();
            } else if( activeScreen == null ) {
                hudScreen.LoseFocus();
            }

            if( screen != null )
                screen.Init();
            activeScreen = screen;
        }