/// <summary>
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            // TODO: Add your initialization logic here

            mPlayer = new Player();
            mPlayer.Initalize(new Vector2(700, 150));
            //graphics.PreferredBackBufferWidth = 1920;
            //graphics.PreferredBackBufferHeight = 1080;
            graphics.PreferredBackBufferWidth  = 960;
            graphics.PreferredBackBufferHeight = 540;
            graphics.IsFullScreen = true;
            graphics.ApplyChanges();

            mEnemySpawner     = new EnemySpawner();
            mBulletSpawner    = new BulletSpawner();
            mPatternGenerator = new PatternGenerator();

            mEnemies                   = new List <Enemy>();
            mBullets                   = new List <Bullet>();
            mPlayerBullets             = new List <Bullet>();
            mBulletDestroyQueue        = new List <int>();
            mPlayerBulletsDestroyQueue = new List <int>();
            mEnemyDestroyQueue         = new List <int>();
            mFrameCounter              = new FrameCounter();
            mSchedule                  = new StageSchedule();
            base.Initialize();


            mPlayer.mPlayerBulletsPtr = mPlayerBullets;

            mBulletSpawner.SetBulletList(mBullets);
            mPatternGenerator.SetBulletSpawner(mBulletSpawner);
            mEnemySpawner.SetPatternGenerator(mPatternGenerator);
            mEnemySpawner.SetEnemyListPtr(mEnemies);

            mSchedule.Init("Content/Stages/teststagegenerators.json", mEnemySpawner);
        }
 public void SetBulletSpawner(BulletSpawner spawner)
 {
     mGameBulletSpawnerPtr = spawner;
 }