public OptionsScreen(GameScreen parentScreen)
        {
            usernamekeyboardInput = new StringBuilder();
            keywordkeyboardInput = new StringBuilder();
            usernameStringBuilder = new KeyboardStringBuilder();
            keywordStringBuilder = new KeyboardStringBuilder();

            loadSavedOptions();

            ParentScreen = parentScreen;
            ParentScreen.currentScreenState = ScreenState.Hidden;

            menuEntries.Add(new MenuEntry("Username:"******"Keyword:"));
            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 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 MainGameOptionsScreen(GameScreen parentScreen)
 {
     ParentScreen = parentScreen;
     menuEntries.Add(new MenuEntry("Exit to Main Menu"));
     menuEntries.Add(new MenuEntry("Exit to Desktop"));
     menuEntries.Add(new MenuEntry("Cancel"));
     menuEntries[0].Active = true;
 }
        public void AddScreen(GameScreen screen)
        {
            screen.screenManager = this;

            if (isInitialized)
            {
                screen.LoadContent();
            }

            screens.Add(screen);
        }
 public PopUpWarningScreen(GameScreen parentScreen, string message)
 {
     ParentScreen = parentScreen;
     Message = message;
 }
 public IPInputScreen(GameScreen parentScreen)
 {
     keyboardInput = new StringBuilder();
     keyboardStringBuilder = new KeyboardStringBuilder();
     ParentScreen = parentScreen;
 }
        /// <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);
        }