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 ); } }
public void SetNewScreen( Screen screen ) { InputHandler.ScreenChanged( activeScreen, screen ); if( activeScreen != null ) activeScreen.Dispose(); activeScreen = screen; if( screen != null ) screen.Init(); }
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(); }
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; }