public HorizontalMenuBGSprite(Texture2D bg, SpriteBatch sb) { if (_currentBG != null) { throw new Exception("This class is a singleton; use HorizontalMenuBGSprite.CurrentBG."); } vp = sb.GraphicsDevice.Viewport; Sprite spr1 = new Sprite(bg, Vector2.Zero, sb); spr1.YSpeed = 1.5f / (StateManager.DebugData.DebugBackground ? 1 : 10); _bgList.Add(spr1); StateManager.Options.ScreenResolutionChanged += new EventHandler<ViewportEventArgs>(Options_ScreenResolutionChanged); Sprite spr2 = new Sprite(bg, new Vector2(0, -bg.Height - (StateManager.DebugData.DebugBackground ? 1 : 0)), sb); spr2.Effect = SpriteEffects.FlipVertically; spr2.YSpeed = spr1.YSpeed; _bgList.Add(spr2); //spr1.Moved += new EventHandler(spr1_Moved); _currentBG = this; }
public HorizontalMenuBGSprite(Texture2D bg, SpriteBatch sb) { if (_currentBG != null) { throw new Exception("This class is a singleton; use HorizontalMenuBGSprite.CurrentBG."); } vp = sb.GraphicsDevice.Viewport; Sprite spr1 = new Sprite(bg, Vector2.Zero, sb); spr1.YSpeed = 1.5f / (PGCGame.Screens.MainMenu.DebugBackground ? 1 : 10); _bgList.Add(spr1); StateManager.Options.ScreenResolutionChanged += new EventHandler(Options_ScreenResolutionChanged); Sprite spr2 = new Sprite(bg, new Vector2(0, -bg.Height - (PGCGame.Screens.MainMenu.DebugBackground ? 1 : 0)), sb); spr2.Effect = SpriteEffects.FlipVertically; spr2.YSpeed = spr1.YSpeed; _bgList.Add(spr2); //spr1.Moved += new EventHandler(spr1_Moved); _currentBG = this; }
/// <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; }