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---------- }
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 }