Example #1
0
        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;
        }
Example #2
0
        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;
        }