Ejemplo n.º 1
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // --------- Defaults  -------------
            spriteBatch = new SpriteBatch(GraphicsDevice);

            // --------- Store Globals  -------------
            Shared.Batch = spriteBatch;
            Shared.Main  = this;

            // --------- Load Assets -------------
            Shared.IMG_Interface = AssetLoader.LoadContent <Texture2D>(Content, "Images/Interface");
            Shared.IMG_Items     = AssetLoader.LoadContent <Texture2D>(Content, "Images/Items");
            Shared.IMG_Sprites   = AssetLoader.LoadContent <Texture2D>(Content, "Images/Sprites");
            Shared.IMG_Worlds    = AssetLoader.LoadContent <Texture2D>(Content, "Images/Worlds");

            Shared.SFX_Sounds  = AssetLoader.LoadContent <SoundEffect>(Content, "Audio/SFX");
            Shared.AUDIO_Music = AssetLoader.LoadContent <Song>(Content, "Audio/Music");

            // --------- Load & Generate Particles & Effects -------------
            Shared.IMG_Animations  = AssetLoader.LoadContent <Texture2D>(Content, "Images/Effects/Animations");
            Shared.IMG_Emotes      = AssetLoader.LoadContent <Texture2D>(Content, "Images/Effects/Emotes");
            Shared.IMG_Projectiles = AssetLoader.LoadContent <Texture2D>(Content, "Images/Effects/Projectiles");
            Particles.Generate_Effects();

            // --------- Build Tilesheets -------------
            Shared.IMG_Tiles = AssetLoader.LoadContent <Texture2D>(Content, "Images/Objects/Tiles");
            Shared.Tileset   = new Dictionary <string, Tileset>();
            Terrain.Generate_Tiles(Shared.IMG_Tiles);

            // --------- Build Parallaxs --------
            Shared.IMG_Parallax   = AssetLoader.LoadContent <Texture2D>(Content, "Images/Parallax");
            Shared.World_Parallax = new Dictionary <string, WorldParallax>();
            WorldParallax.Create_WorldParallax();

            // --------- Debug Data -------------
            Shared.Pixel = new Texture2D(Shared.Main.GraphicsDevice, 1, 1, false, SurfaceFormat.Color);
            Shared.Pixel.SetData(new[] { Color.White });

            SpriteFont font = Content.Load <SpriteFont>("Fonts/Pigsfont");

            Shared.DebugWindow = new BasicText(font, new Vector2(0, 100), "Test", Color.Lime);

            // --------- Set Up Menu Animation -------------
            MediaPlayer.Play(Shared.AUDIO_Music["Menu"]);
            MediaPlayer.IsRepeating = true;
            MediaPlayer.Volume      = 1f;

            Menu_Animation.Add(Shared.IMG_Interface["MenuSceneF1"]);
            Menu_Animation.Add(Shared.IMG_Interface["MenuSceneF2"]);
            Menu_Animation.Add(Shared.IMG_Interface["MenuSceneF3"]);
            Menu_Animation.Add(Shared.IMG_Interface["MenuSceneF4"]);

            // --------- Scene Creation -------------

            // Menu Display -------------------------
            Title         = Shared.IMG_Interface["TitleBar"];
            Menu_Parallax = Shared.World_Parallax["Menu"];
            // --------------------------------------

            mainMenu        = new MainMenu();
            Shared.MainMenu = mainMenu;
            Components.Add(mainMenu);

            playScene = new PlayScene();
            Components.Add(playScene);

            deadScene        = new DeadScene();
            Shared.DeadScene = deadScene;
            Components.Add(deadScene);

            controlScene = new ControlsScene();
            Components.Add(controlScene);

            aboutScene = new AboutScene();
            Components.Add(aboutScene);

            creditScene = new CreditScene();
            Components.Add(creditScene);

            splashscreen = new Splashscreen();
            Components.Add(splashscreen);

            HideAllScenes();
            splashscreen.Show();
            // -----------------------------------------
        }