/// <summary> /// Changing screen /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void OnChangingScreen(object sender, GameScreenEventArgs e) { _CurrentScreen.ChangingScreen -= new Screen.ChangeScreenEventHandler(OnChangingScreen); LeaveScreen(); _CurrentScreen.UnloadScreen(); switch (e.ScreenCalled) { case ViewerEnums.ScreenType.Title: _CurrentScreen = _TitleScreen; break; case ViewerEnums.ScreenType.Stage: _StageScreen.CurrentStageGuid = e.ScreenId; _StageScreen.StartingPosition = e.Position; _StageScreen.IgnoreStartingScripts = e.IgnoreStartingScript; _CurrentScreen = _StageScreen; break; case ViewerEnums.ScreenType.Exit: Close(); break; } _CurrentScreen.LoadScreen(); this.Components.Add(_CurrentScreen); _CurrentScreen.LaunchMusic(); _CurrentScreen.ChangingScreen += new Screen.ChangeScreenEventHandler(OnChangingScreen); }
/// <summary> /// Demande de changement de d'écran /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void ChangeScreen(object sender, GameScreenEventArgs e) { if (ChangingScreen != null) { this.ChangingScreen(this, e); } }