/// <summary>
        /// On construct, read all xml files.
        /// </summary>
        /// <param name="game"></param>
        public XMLReader(Game1 game)
        {
            this.game = game;

            ReadXMLBehaviour(); // READ XML BEHAVIOUR
            ReadXMLConfig(); // READ XML CONFIG
        }
 public CollisionHandler(Game1 game)
 {
     this.audioManager = game.audioManager;
     this.splashScreen = game.splashScreen;
     this.modelManager = game.modelManager;
     this.game = game;
     this.score = game.score;
 }
        public ModelManager(Game1 game)
            : base(game)
        {
            this.game = game;
            this.splashScreen = game.splashScreen;
            this.score = game.score;

            rnd = new Random();
        }
        public MonsterTruck(Model model, GraphicsDevice device, Camera camera, Vector3 position, Player playerModel, Game1 game)
            : base(model)
        {
            this.MAX_HEALTH = (int)game.truckHealth;
            this.moveSpeed = game.truckMoveSpeed;

            base.translation.Translation = position;

            this.playerModel = playerModel;
            health = MAX_HEALTH;
            Random rng = new Random();

            aStarPaths = new List<Vector2>();
            seekLocation = null;
        }
        float velocity = 0f; // need to track velocity so the car naturally slows down

        #endregion Fields

        #region Constructors

        public Player(Model model, GraphicsDevice device, Camera camera, Game1 game)
            : base(model)
        {
            this.MAX_HEALTH = (int)game.playerHealth;
            this.MOVE_SPEED = game.playerMoveSpeed;

            graphicsDeviceManager = game.graphics;
            this.uiManager = game.uiManager;
            this.audioManager = game.audioManager;

            health = MAX_HEALTH;
            energy = MAX_ENERGY;

            base.translation.Translation = new Vector3(500f, 0f, 500f);
        }
        public Enemy(Model model, GraphicsDevice device, Camera camera, Vector3 position, Player playerModel, Game1 game)
            : base(model)
        {
            this.game = game;
            this.MAX_HEALTH = (int)game.enemyHealth;
            this.moveSpeed = game.enemyMoveSpeed;

            Console.WriteLine("ENEMY HP : " + this.MAX_HEALTH);
            Console.WriteLine("ENEMY moveSpeed : " + this.moveSpeed);

            base.translation.Translation = position;

            this.playerModel = playerModel;
            health = MAX_HEALTH;
            rng = new Random();
            randomPoint = new Vector3(rng.Next(96, 1440), 30, rng.Next(96, 1056));

            aStarPaths = new List<Vector2>();
            seekLocation = null;
        }
        public void SetData(string textToDraw, Game1.GameState currGameState)
        {
            this.textToDraw = textToDraw;
            this.currentGameState = currGameState;

            switch (currentGameState) {
                case Game1.GameState.START:
                case Game1.GameState.LEVEL_CHANGE:
                    secondaryTextToDraw = "WASD to move, Space bar to boost.\n\n Press ENTER to begin";
                    break;
                case Game1.GameState.END:
                    secondaryTextToDraw = "Press ENTER to quit";

                    break;
            }
        }
 static void Main()
 {
     using (var game = new Game1())
         game.Run();
 }