/// <summary> /// Start the loading screen state, which initializes some basic form components. /// </summary> /// <param name="gameServer">Server to connect to.</param> public LoadingScreenState(GameServerInfo gameServer) { server = gameServer; if (ServiceManager.Game.IsMouseVisible == false) { ServiceManager.Game.IsMouseVisible = true; } form = new LoadingScreen(ServiceManager.Game.Manager); ServiceManager.Game.FormManager.SwitchWindows(form.Window); form.Cancel.Click += new TomShane.Neoforce.Controls.EventHandler(Cancel_Click); State = LoadingState.LOADING; thread = new Thread(new ThreadStart(Start)); }
/// <summary> /// Unloads content. /// </summary> public override void UnloadContent() { if (thread.IsAlive) { try { thread.Interrupt(); } catch (Exception e) { ServiceManager.Game.Console.DebugPrint( "[ERROR] At LoadingScreenState#UnloadContent(): {0}", e.Message); } } if (futureGame != null) { ServiceManager.Game.BackgroundMovie.Pause(); ServiceManager.MP3Player.Stop(); ServiceManager.MP3Player.PlayPlaylist(); futureGame.OnGameFinished += new GamePlayState.GameFinishHandler(OnGameFinished); } currentMap = null; currentMapInstance = null; thread = null; server = null; form = null; futureGame = null; clientCallback = null; buffer = null; }