/// <summary> /// Load Game Assets and initialize all screens /// </summary> protected override void LoadContent() { //Instantiate the singleton class GameContent and load all game assets, done in ctor GameContent.InitializeAssets(Content); // Create a new SpriteBatch, which can be used to draw textures. spriteBatch = new SpriteBatch(GraphicsDevice); //Instantiate the singleton class HorizontalMenuBGSprite HorizontalMenuBGSprite scrollingBG = new HorizontalMenuBGSprite(GameContent.Assets.Images.Backgrounds.Screens[ScreenBackgrounds.GlobalScrollingBg], spriteBatch); //Initialize screens availableNetSessions = new AvailableSessionsScreen(spriteBatch); availableNetSessions.InitScreen(ScreenType.NetworkSessionsScreen); mpShipList = new MPShipsScreen(spriteBatch); mpShipList.InitScreen(ScreenType.MPShipsDisplay); titleScreen = new Title(spriteBatch); titleScreen.InitScreen(ScreenType.Title); netMatchCreate = new NetworkMatchTypeSelectionScreen(spriteBatch); netMatchCreate.InitScreen(ScreenType.NetworkMatchSelection); gameOver = new GameOver(spriteBatch); gameOver.InitScreen(ScreenType.GameOver); levelCompleteScreen = new LevelCompleteScreen(spriteBatch); levelCompleteScreen.InitScreen(ScreenType.LevelCompleteScreen); shopScreen = new Shop(spriteBatch); shopScreen.InitScreen(ScreenType.Shop); controlScreen = new ControlScreen(spriteBatch); controlScreen.InitScreen(ScreenType.ControlScreen); mainMenuScreen = new MainMenu(spriteBatch); mainMenuScreen.InitScreen(ScreenType.MainMenu); creditsScreen = new Credits(spriteBatch); creditsScreen.InitScreen(ScreenType.Credits); gameScreen = new GameScreen(spriteBatch); gameScreen.InitScreen(ScreenType.Game); optionScreen = new Options(spriteBatch); optionScreen.InitScreen(ScreenType.Options); pauseScreen = new PauseScreen(spriteBatch); pauseScreen.InitScreen(ScreenType.Pause); weaponSelectScreen = new WeaponSelectScreen(spriteBatch); weaponSelectScreen.InitScreen(ScreenType.WeaponSelect); upgradeScreen = new UpgradeScreen(spriteBatch); upgradeScreen.InitScreen(ScreenType.UpgradeScreen); tierSelectScreen = new TierSelect(spriteBatch); tierSelectScreen.InitScreen(ScreenType.TierSelect); levelSelectScreen = new LevelSelect(spriteBatch); levelSelectScreen.InitScreen(ScreenType.LevelSelect); networkScreen = new NetworkSelectScreen(spriteBatch); networkScreen.InitScreen(ScreenType.NetworkSelectScreen); transitionScreen = new TransitionScreen(spriteBatch); transitionScreen.InitScreen(ScreenType.TransitionScreen); loadingScreen = new LoadingScreen(spriteBatch, Color.Black); loadingScreen.InitScreen(ScreenType.LoadingScreen); multiplayerShipSelectScreen = new MulitplayerShipSelectScreen(spriteBatch); multiplayerShipSelectScreen.InitScreen(ScreenType.MultiPlayerShipSelect); mpWin = new MultiplayerWinScreen(spriteBatch); mpWin.InitScreen(ScreenType.MPWinningScreen); mpLose = new MultiplayerLoseScreen(spriteBatch); mpLose.InitScreen(ScreenType.MPLoseScreen); cheatScreen = new CheatEditScreen(spriteBatch); cheatScreen.InitScreen(ScreenType.CheatModifyScreen); screenManager = new ScreenManager(spriteBatch, Color.White, titleScreen, mainMenuScreen, creditsScreen, gameScreen, optionScreen, shopScreen, pauseScreen, weaponSelectScreen, upgradeScreen, tierSelectScreen, levelSelectScreen, controlScreen, networkScreen, gameOver, transitionScreen, levelCompleteScreen, loadingScreen, availableNetSessions, netMatchCreate, multiplayerShipSelectScreen, mpShipList, mpWin, mpLose, cheatScreen); StateManager.AllScreens = screenManager; StateManager.ScreenState = ScreenType.Title; }
public override void Update(GameTime gameTime) { #if WINDOWS MouseState currentMs = MouseManager.CurrentMouseState; if (lastMs.LeftButton == ButtonState.Released && currentMs.LeftButton == ButtonState.Pressed) { if (mouseInBackButton) { if (StateManager.Options.SFXEnabled) { ButtonClick.Play(); } if (lScr == null) { lScr = StateManager.AllScreens[ScreenType.LoadingScreen.ToString()] as LoadingScreen; } lScr.Reset(); lScr.ScreenFinished += new EventHandler(lScr_ScreenFinished); lScr.UserCallbackStartsTask = true; lScr.UserCallback = new Delegates.AsyncHandlerMethod(storageDeviceFound); lScr.LoadingText = "Saving data..."; StorageDevice.BeginShowSelector(PlayerIndex.One, lScr.Callback, null); StateManager.ScreenState = CoreTypes.ScreenType.LoadingScreen; StateManager.ScreenState = ScreenType.LoadingScreen; //StateManager.GoBack(); } if (MusicVolumeLabel.IsSelected) { if (StateManager.Options.SFXEnabled) { ButtonClick.Play(); } StateManager.Options.MusicEnabled = !StateManager.Options.MusicEnabled; MusicVolumeLabel.Text = String.Format("Music: {0}", StateManager.Options.MusicEnabled ? "On" : "Off"); } if (SFXLabel.IsSelected) { if (StateManager.Options.SFXEnabled) { ButtonClick.Play(); } StateManager.Options.SFXEnabled = !StateManager.Options.SFXEnabled; SFXLabel.Text = String.Format("SFX: {0}", StateManager.Options.SFXEnabled ? "On" : "Off"); } if (mouseOnGraphicButton) { if (StateManager.Options.SFXEnabled) { ButtonClick.Play(); } StateManager.Options.ToggleFullscreen(); } if (ControlLabel.IsSelected) { if (StateManager.Options.SFXEnabled) { ButtonClick.Play(); } StateManager.ScreenState = ScreenType.ControlScreen; } } lastMs = currentMs; #elif XBOX currentGamePad = GamePad.GetState(PlayerIndex.One); lastGamePad = currentGamePad; #endif base.Update(gameTime); }
void SinglePlayerLabel_Pressed(object sender, EventArgs e) { if (!Guide.IsVisible && Visible && elapsedButtonDelay > totalButtonDelay) { if (StateManager.Options.SFXEnabled) { ButtonClick.Play(); } //the if statements were causing errors when loading the game, starting a level, quitting out, then loading again. //Previous stats weren't loaded properly. // if (StateManager.SelectedStorage == null) // { // } // else if (StateManager.SelectedStorage != null) //{ lScr = StateManager.AllScreens[ScreenType.LoadingScreen.ToString()] as LoadingScreen; lScr.Reset(); lScr.ScreenFinished += new EventHandler(lScr_ScreenFinished); lScr.UserCallbackStartsTask = true; lScr.UserCallback = new Delegates.AsyncHandlerMethod(onSelectedStorage); lScr.LoadingText = "Loading saved data..."; StorageDevice.BeginShowSelector(PlayerIndex.One, lScr.Callback, null); StateManager.ScreenState = CoreTypes.ScreenType.LoadingScreen; //} } }