Example #1
0
        public GameManager(ScrollingBackground scrollingBackground, Player player, Texture2D projectileSprite, List <Texture2D> meteorSprites, UserInterface uI)
        {
            this.scrollingBackground = scrollingBackground;
            scrollSpeed = 90;

            this.player         = player;
            player.ScreenBorder = new Vector2(950, 950);

            projectiles           = new List <Projectiles>();
            this.projectileSprite = projectileSprite;
            // Test the two last values of this.
            spawner            = new RandomTimer(3000, new Random(), 130, 200);
            meteors            = new List <Meteor>();
            this.meteorSprites = meteorSprites;

            this.uI = uI;

            rng = new Random();
        }
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            // Debug Textures
            #region Background

            baseBackground       = new List <Base_Background>();
            backgroundSize       = graphics.GraphicsDevice.Viewport.Bounds;
            backgroundSize.Width = backgroundSize.Width - 200;
            for (int i = 1; i < 6; i++)
            {
                baseBackground.Add(new Base_Background(Content.Load <Texture2D>("debug\\bg_" + i + ""), backgroundSize));
            }

            bg = new ScrollingBackground(baseBackground, Content.Load <Texture2D>("debug\\shader"));

            #endregion Background

            #region Player

            defaultPlayer = new Player(Content.Load <Texture2D>("debug\\player"), Content.Load <Texture2D>("debug\\hitbox"),
                                       new Rectangle(628 - 128, 800 - 128, 128, 128), new Rectangle(0, 0, 72, 104));
            defaultPlayer.BindableKb.Add("left", Keys.A);
            defaultPlayer.BindableKb.Add("right", Keys.D);
            defaultPlayer.BindableKb.Add("up", Keys.W);
            defaultPlayer.BindableKb.Add("down", Keys.S);
            defaultPlayer.BindableKb.Add("shoot", Keys.Space);

            #endregion Player

            #region Meteor

            meteorSizes = new List <Texture2D>();
            for (int i = 1; i < 4; i++)
            {
                meteorSizes.Add(Content.Load <Texture2D>("debug\\meteor_" + i + ""));
            }

            #endregion Meteor

            #region UI

            primaryColor = new List <Texture2D>();
            for (int i = 0; i < 4; i++)
            {
                primaryColor.Add(Content.Load <Texture2D>("ui\\prim_" + i + ""));
            }
            complementColor = new List <Texture2D>();
            for (int i = 0; i < 4; i++)
            {
                complementColor.Add(Content.Load <Texture2D>("ui\\comp_" + i + ""));
            }
            whiteLine = new List <Texture2D>();
            whiteLine.Add(Content.Load <Texture2D>("ui\\whiteline1"));
            whiteLine.Add(Content.Load <Texture2D>("ui\\whiteline2"));

            uI = new UserInterface(Content.Load <SpriteFont>("spriteFont"),
                                   primaryColor, complementColor, whiteLine, Content.Load <Texture2D>("ui\\blackBG"));
            #endregion UI

            #region MenuManager
            play = new List <Texture2D>();
            for (int i = 0; i < 2; i++)
            {
                play.Add(Content.Load <Texture2D>("menu\\play" + i + ""));
            }

            menu = new MenuManager(play, Content.Load <Texture2D>("menu\\menubg"));
            #endregion Menu Manager

            #region MenuManager
            menutext = new List <Texture2D>();
            for (int i = 0; i < 2; i++)
            {
                menutext.Add(Content.Load <Texture2D>("gO\\menu" + i + ""));
            }

            gO = new GameOverManager(play, Content.Load <Texture2D>("gO\\gOscreen"), Content.Load <SpriteFont>("spriteFont"));
            #endregion Menu Manager

            gM = new GameManager(bg, defaultPlayer, Content.Load <Texture2D>("debug\\projectile"), meteorSizes, uI);

            gameState = GameState.menu;
        }