public void AddScreen(GameScreen screen) { if (OnScreenChangeStart != null) OnScreenChangeStart(this, new ScreenChangeEventArgs(CurrentScreen, screen)); }
void ScreenChange(object sender, ScreenChangeEventArgs scrChangeEvtArgs) { NewScreen = scrChangeEvtArgs.newScreen; ScreenStack.Push(NewScreen); if (scrChangeEvtArgs.currentScreen != null) { if (scrChangeEvtArgs.currentScreen is MainScreen) { (scrChangeEvtArgs.currentScreen as MainScreen).SceneMngr.GetCurrentScene().sound.Stop(); } scrChangeEvtArgs.currentScreen.UnloadContent(); } CurrentScreen = NewScreen; CurrentScreen.LoadContent(Content); }
public ScreenManager() { OnScreenChangeStart += ScreenChange; CurrentScreen = new MenuScreen(); }
public ScreenChangeEventArgs(GameScreen currentScr, GameScreen newScr) { currentScreen = currentScr; newScreen = newScr; }