public ProfileScreen(GameScreen parentScreen) { KeyboardInput = new StringBuilder(); ProfileStringBuilder = new KeyboardStringBuilder(); ParentScreen = parentScreen; ParentScreen.CurrentScreenState = ScreenState.Hidden; ProfileFiles = FileGrabber.findLocalProfiles(); CreateProfilesMenuEntries(ProfileFiles); MenuEntries.Add(new MenuEntry("New")); MenuEntries.Add(new MenuEntry("Cancel")); if (ProfileEntries.Count > 0) { OnProfiles = true; SelectedProfileEntry = 0; ProfileEntries[0].Active = true; } else { OnMenu = true; SelectedMenuEntry = 0; MenuEntries[0].Active = true; } }
public void AddScreen(GameScreen screen) { screen.ScreenManager = this; if (IsInitialized) { screen.LoadContent(); } Screens.Add(screen); }
public OptionsScreen(GameScreen parentScreen) { ParentScreen = parentScreen; ParentScreen.CurrentScreenState = ScreenState.Hidden; MenuEntries.Add(new MenuEntry("Resolution")); MenuEntries.Add(new MenuEntry("Fullscreen?")); MenuEntries.Add(new MenuEntry("Back")); MenuEntries[0].Active = true; var displays = GraphicsAdapter.DefaultAdapter.SupportedDisplayModes.Select(x => new { x.Width, x.Height }).Distinct(); foreach (var display in displays) { ResolutionEntries.Add(new MenuEntry(display.Width + " x " + display.Height)); Resolutions.Add(new Resolution(display.Width, display.Height)); } ResolutionEntries[0].Active = true; }
public PopUpWarningScreen(GameScreen parentScreen, string message) { ParentScreen = parentScreen; Message = message; }
/// <summary> /// Removes a screen from the screen manager. You should normally /// use GameScreen.ExitScreen instead of calling this directly, so /// the screen can gradually transition off rather than just being /// instantly removed. /// </summary> public void RemoveScreen(GameScreen screen) { // If we have a graphics device, tell the screen to unload content. if (IsInitialized) { screen.UnloadContent(); } Screens.Remove(screen); ScreensToUpdate.Remove(screen); }