/// <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
            base.Initialize();

            GameManager.Init(this);
            TextureManager.Init(Content);
            Configs.Initialize(this, graphics);

            JSONLoader.LoadJSONObjects("Content/GameObjects/MainMenu.json");
            JSONLoader.LoadJSONObjects("Content/GameObjects/Projectiles.json");
            JSONLoader.LoadJSONObjects("Content/GameObjects/wave1.json");
            JSONLoader.LoadJSONObjects("Content/GameObjects/GameBoundaries.json");
            JSONLoader.LoadJSONObjects("Content/GameObjects/Player.json");
            JSONLoader.LoadJSONObjects("Content/GameObjects/Enemies.json");
            JSONLoader.LoadJSONObjects("Content/GameObjects/GameScreen.json");
            JSONLoader.LoadJSONObjects("Content/GameObjects/Gallery.json");
            JSONLoader.LoadJSONObjects("Content/GameObjects/Pause.json");
            JSONLoader.LoadJSONObjects("Content/GameObjects/OptionsMenu.json");


            InitializeOptions();
            InitializeGallery();
            InitializeMainMenu();

            graphics.PreferredBackBufferWidth  = 1280;
            graphics.PreferredBackBufferHeight = 720;
            Resolution.Update(graphics);

            GameObject playButton = new GameObject();
        }