Exemplo n.º 1
0
        public override void Initialize()
        {
            float aspectRatio = game.GraphicsDevice.Viewport.AspectRatio;

            #region Load Models
            //Load Models

            Vector3 initPlayerPosition = new Vector3(0, 0, 0);
            player = new Player(game, initPlayerPosition, 5f);
            moon = new Planet(game, new Vector3(0, 0, 9000), 300f, "moon");

            game.Components.Add(player);
            game.Components.Add(moon);

            #endregion

            #region Load Cameras
            //Load Cameras
            thirdPersonCam = new _3rdPersonCam(game, (player.getPosition()), player, Vector3.Up, aspectRatio);
            flyByCam = new StaticCam(game, player, Vector3.Up, aspectRatio);
            firstPersonCam = new FirstPersonCam(game, player.getPosition(), Vector3.Up, aspectRatio);
            availableCameras = new Queue<Camera>();
            availableCameras.Enqueue(thirdPersonCam);
            availableCameras.Enqueue(flyByCam);

            currentCam = availableCameras.Dequeue();
            #endregion

            #region setup game objects cameras and draw order
            asteroidField = new AsteroidField(game, currentCam);
            game.Components.Add(asteroidField);

            player.setCamera(currentCam);
            player.DrawOrder = 3;

            moon.setCamera(currentCam);
            moon.DrawOrder = 3;

            skybox = new Skybox(game, currentCam, "Space");
            skybox.DrawOrder = 1;
            game.Components.Add(skybox);
            #endregion

            #region initialize controls
            input = new Control(game, player, thirdPersonCam, false);
            game.Components.Add(input);
            #endregion

            collisonDetector = new Collision(game);
            game.Components.Add(collisonDetector);

            #region Audio
            //game.getMusicPlayer().playRandomTrack();
            #endregion

            optionsHaveChanged();
        }