示例#1
0
        protected virtual void LoadTextures(GraphicsDevice graphics)
        {
            if(graphics == null)
                return;

            //throw new Exception("No graphics device defined!");

            // Fill creation
            this.graphics = graphics;

             // update size?
            if (fillInfo.texture == null)
            {
                fill = new Texture2D(graphics, (int)this.Size.X, (int)this.Size.Y);
                fill.GenColorTexture((int)this.Size.X, (int)this.Size.Y, Color.White);
            }
            else
            {
                fill = fillInfo.texture;
            }

            // Border creation
            //border = borderInfo.texture; // update size?

            if (borderInfo.sprite == null)
            {
                border = new Texture2D(graphics, (int)this.Size.X, (int)this.Size.Y);
                border.CreateBorder(borderInfo.width, Color.White);
            }
            else
            {

                if (borderInfo.sprite.Texture == null)
                {
                    //borderInfo.sprite.Texture = new Texture2D(graphics, borderInfo.sprite.Width, borderInfo.sprite.Height);
                    borderInfo.sprite.Texture = contentManager.Load<Texture2D>("./GUI/" + borderInfo.sprite.FileName);
                }

                border = borderInfo.sprite.Texture;
            }

            if (inactiveAlpha == null)
            {
                inactiveAlpha = new Texture2D(graphics, (int)this.Size.X, (int)this.Size.Y);
                inactiveAlpha.GenColorTexture((int)this.Size.X, (int)this.Size.Y, new Color(Color.Gray, 90));
            }

            foreach (Control c in controls)
                c.LoadTextures(graphics);
        }
        // LOAD TEXTURES
        // This will be called when rendermanager is constructed in LoadContent... (since we only want to load textures once!!!)
        public void LoadTextures()
        {
            //--------TILES--------
            foreach(KeyValuePair<string, Tile> kvp in Tiles.tilesDictionary)
            {
                using (Stream imageStream = TitleContainer.OpenStream(Tile.Directory + kvp.Value.FileName))
                {
                    kvp.Value.Texture = Texture2D.FromStream(graphics, imageStream);

                }
            }
            //--------TILES--------

            //------SPRITES-------
            foreach (KeyValuePair<string, Sprite> kvp in Sprites.spritesDictionary)
            {
                using (Stream imageStream = TitleContainer.OpenStream(Sprite.Directory + kvp.Value.FileName))
                {
                    kvp.Value.Texture = Texture2D.FromStream(graphics, imageStream);

                }
            }
            //------SPRITES-------

            //--------GUI----------
            // technically this shouldnt be here but casting is very slow so doing a cast
            // then checking is living entity is set in this element in update would slow
            // the game by a little.

            // its placed above the loading of textures and content so text aligns properly.
            /*foreach (KeyValuePair<string, Sprite> kvp in Sprites.guiSpritesDictionary)
            {
                using (Stream imageStream = TitleContainer.OpenStream("./Content/GUI/" + kvp.Value.FileName))
                {
                    kvp.Value.Texture = Texture2D.FromStream(graphics, imageStream);

                }
            }*/

            foreach(KeyValuePair<string, Control> c in Controls.guiElements)
                c.Value.LoadVisuals(mainGame.Content, graphics);

            pixel = new Texture2D(graphics, 1, 1);
            pixel.GenColorTexture(1, 1, Color.White);
            //--------GUI----------
        }
示例#3
0
        public void ControlSizeChange(Vector2 lastSize)
        {
            ControlSizeChangeAlignControl(lastSize);

            // REMAKE BORDERS AND STUFF
            // Fill creation
            if (this.Size == Vector2.Zero)
                return;

            if (fillInfo.texture == null)
            {
                if (fill != null)
                {
                    fill = new Texture2D(fill.GraphicsDevice, (int)this.Size.X, (int)this.Size.Y);
                    fill.GenColorTexture((int)this.Size.X, (int)this.Size.Y, Color.White);
                }
            }
            else
                fill = fillInfo.texture; // update size?

            // Border creation
            if (borderInfo.sprite == null)
            {
                if (border != null)
                {
                    border = new Texture2D(border.GraphicsDevice, (int)this.Size.X, (int)this.Size.Y);
                    border.CreateBorder(borderInfo.width, Color.White);
                }
            }
            else
            {

                if (borderInfo.sprite.Texture == null)
                {
                    //borderInfo.sprite.Texture = new Texture2D(graphics, borderInfo.sprite.Width, borderInfo.sprite.Height);
                    borderInfo.sprite.Texture = contentManager.Load<Texture2D>("./GUI/" + borderInfo.sprite.FileName);
                }

                border = borderInfo.sprite.Texture;
            }

            // REMAKE BORDERS AND STUFF
        }