示例#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()
        {
            // Sets the mouse position in our window.
            Mouse.WindowHandle = this.Window.Handle;

            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            ContentHolder.Load(Content);

            // Button event function triggers
            // Menu button events
            foreach (Button actionbtn in actionButtons)
            {
                actionbtn.clicked += new Button.EventHandler(ButtonClicked);
            }

            // Menu button events
            foreach (Button menubtn in menuButtons)
            {
                menubtn.clicked += new Button.EventHandler(ButtonClicked);
            }

            foreach (Button mpbtn in multiplayerButtons)
            {
                mpbtn.clicked += new Button.EventHandler(MPButtonClicked);
            }

            upgradeTowerButton.clicked += new Button.EventHandler(ButtonClicked);

            // Event handler triggered by the Network.Receive function
            // Triggers when a message is sent from the server
            network.received += new Network.EventHandler(ReceivedNetwork);

            // Event trigger for unit death
            Unit.onDeath    += new EventHandler(UnitDeath);
            Unit.onLastTile += new EventHandler(UnitReachEnd);

            // BUTTON TEXTURES
            // 0 - unit1 (placeholder button)
            // 1 - tower1
            // 2 - tower1upgrade1
            // 3 - tower2
            // 4 - tower2upgrade1
            // 5 - delete tower
            // 6 - new wave
            // 7 - new game menu
            // 8 - multiplayer menu
            // 9 - controls menu
            // 10 - exit menu
            // 11 - blackbox
            // 12 - resume
            // 13 - Save game
            // 14 - Join Lobby
            // 15 - Tumor button

            pathview.Texture = ContentHolder.TowerTextures[4];

            toast.InitVars(ContentHolder.Buttons[1], ContentHolder.Fonts[2]);
            networkMessages.InitVars(ContentHolder.Buttons[1], ContentHolder.Fonts[1]);
            network.Init(ref networkMessages);

            userName.InitVars(ContentHolder.Buttons[1], ContentHolder.Fonts);
            lobbyName.InitVars(ContentHolder.Buttons[1], ContentHolder.Fonts);
            chatBox.InitVars(ContentHolder.Buttons[1], ContentHolder.Fonts);
            Button.Buttons = ContentHolder.Buttons;
            Gui.Font       = ContentHolder.Fonts[1];
            Gui.Sprites    = ContentHolder.GuiSprites;

            Unit.SetSprites(ContentHolder.UnitSprites, ContentHolder.Fonts[0]);
            Ammunition.SetSprites(ContentHolder.AmmunitionSprites);
            map.SetTextures(ContentHolder.TowerTextures);
            Tower.Turret = ContentHolder.TowerTextures[9];
            Button.Fonts = ContentHolder.Fonts;

            // Set the username textbox active from the start
            userName.Active = true;

            //Thread thread = new Thread(new ThreadStart(PlaySong));
            //thread.IsBackground = true;
            //thread.Start();

            // TODO: use this.Content to load your game content here
        }