public void Show(ScreenId screenId) { if (currentScreen != null) { currentScreen.Hide(); } if (currentScreenId != screenId) { currentScreenId = screenId; currentScreen = FindScreen(currentScreenId);; if (currentScreen == null) { throw new NotImplementedException(); } } currentScreen.Show(); }
private BaseScreen FindScreen(ScreenId screenId) { if (screens[(int)currentScreenId] != null) { return(screens[(int)currentScreenId]); } BaseScreen screen = null; switch (screenId) { case ScreenId.Splash: break; case ScreenId.Game: screen = new GameScreen(Context.Instance.Drawer); screen.Init(); screens[(int)screenId] = screen; break; } return(screen); }