Exemplo n.º 1
0
        protected override void LoadContent()
        {
            _spriteBatch = new SpriteBatch(GraphicsDevice);

            //TankGameLibrary.SubTexture[] textureAtlas2 = null;

            // TODO: use this.Content to load your game content here
            using (var reader = new StreamReader(Path.Combine(Content.RootDirectory, "allSprites_default.xml")))
            {
                var serializer = new XmlSerializer(typeof(TextureAtlas));
                _textureAtlas = (TextureAtlas)serializer.Deserialize(reader);
            }

            _tileSheet = Content.Load <Texture2D>("allSprites_default");

            SpriteFont font = Content.Load <SpriteFont>("myFont");

            //textureAtlas2 = Content.Load<TankGameLibrary.SubTexture[]>("allSprites_modified");

            //XmlWriterSettings settings = new XmlWriterSettings();
            //settings.Indent = true;

            //using (XmlWriter writer = XmlWriter.Create("example.xml", settings))
            //{
            //	IntermediateSerializer.Serialize(writer, textureAtlas, null);
            //}

            _tileSprites    = new Sprite[8];
            _tileSprites[0] = new Sprite();
            _tileSprites[0].Load(_tileSheet, _textureAtlas.GetRectangle("tileGrass1"));
            _tileSprites[1] = new Sprite();
            _tileSprites[1].Load(_tileSheet, _textureAtlas.GetRectangle("tileGrass2"));
            _tileSprites[2] = new Sprite();
            _tileSprites[2].Load(_tileSheet, _textureAtlas.GetRectangle("tileSand1"));
            _tileSprites[3] = new Sprite();
            _tileSprites[3].Load(_tileSheet, _textureAtlas.GetRectangle("tileSand2"));
            _tileSprites[4] = new Sprite();
            _tileSprites[4].Load(_tileSheet, _textureAtlas.GetRectangle("tileGrass_transitionN"));
            _tileSprites[5] = new Sprite();
            _tileSprites[5].Load(_tileSheet, _textureAtlas.GetRectangle("tileGrass_transitionE"));
            _tileSprites[6] = new Sprite();
            _tileSprites[6].Load(_tileSheet, _textureAtlas.GetRectangle("tileGrass_transitionS"));
            _tileSprites[7] = new Sprite();
            _tileSprites[7].Load(_tileSheet, _textureAtlas.GetRectangle("tileGrass_transitionW"));

            var editorButton = new Button((int)MainMenuButton.MapEditor, font, "Map Editor", Color.Black);
            var gameButton   = new Button((int)MainMenuButton.StartGame, font, "Start Game", Color.Black);
            var quitButton   = new Button((int)MainMenuButton.Quit, font, "Quit", Color.Black);

            editorButton.Load(_tileSheet, _textureAtlas.GetRectangle("treeGreen_large"));
            gameButton.Load(_tileSheet, _textureAtlas.GetRectangle("treeGreen_large"));
            quitButton.Load(_tileSheet, _textureAtlas.GetRectangle("treeGreen_large"));

            editorButton.Position = new Rectangle(100, 100, 120, 80);
            gameButton.Position   = new Rectangle(100, 200, 120, 80);
            quitButton.Position   = new Rectangle(100, 300, 120, 80);

            _mainMenu.AddButton(editorButton);
            _mainMenu.AddButton(gameButton);
            _mainMenu.AddButton(quitButton);

            _baseTank = new Tank();
            _baseTank.Load(_tileSheet, _textureAtlas.GetRectangle("tankBody_blue"));
            //Need to set the height/width or else you get a dumb bug where it doesn't draw
            _baseTank.Position = new Rectangle(0, 0, 38, 38);
        }