public override void Render(DwarfTime time, SpriteBatch batch) { Rectangle globalBounds = GlobalBounds; Color c = TextColor; if (IsMouseOver) { c = HoverTextColor; } Rectangle checkboxBounds = new Rectangle(GlobalBounds.Right - 32, GlobalBounds.Top + 1, 32, 32); GUI.Skin.RenderCheckbox(checkboxBounds, Checked, batch); Vector2 measure = Datastructures.SafeMeasure(GUI.DefaultFont, Text); Drawer2D.DrawStrokedText(batch, Text, GUI.DefaultFont, new Vector2(GlobalBounds.Right - measure.X - 32, GlobalBounds.Top + 5), c, StrokeColor); base.Render(time, batch); }
public override void Render(DwarfTime time, SpriteBatch batch) { if (IsVisible) { if (DrawPanel) { GUI.Skin.RenderPanel(GlobalBounds, batch); } Drawer2D.DrawStrokedText(batch, Label, GUI.DefaultFont, new Vector2(GlobalBounds.X + 5, GlobalBounds.Y + 5), LabelColor, LabelStroke); //Drawer2D.DrawRect(GlobalBounds, BackgroundColor, StrokeColor, StrokeWeight); } base.Render(time, batch); }
public override void Render(DwarfTime time, SpriteBatch batch) { Rectangle toDraw = GetImageBounds(); MouseState m = Mouse.GetState(); if (IsDragging) { toDraw.Y = m.Y - toDraw.Height / 2; toDraw.X = m.X - toDraw.Width / 2; batch.Draw(Item.Image.Image, GetImageBounds(), Item.Image.SourceRect, Color.White, 0, Vector2.Zero, SpriteEffects.None, 0); } //if (Item.CurrentAmount > 0) { if (!IsHighlighting) { batch.Draw(Item.Image.Image, toDraw, Item.Image.SourceRect, Color.White, 0, Vector2.Zero, SpriteEffects.None, 0); } else { batch.Draw(Item.Image.Image, toDraw, Item.Image.SourceRect, IsMouseOver ? Color.Orange : Color.White, 0, Vector2.Zero, SpriteEffects.None, 0); } if (Item.CurrentAmount < 256) { Drawer2D.DrawStrokedText(batch, "" + Item.CurrentAmount, GUI.SmallFont, new Vector2(GetImageBounds().X, GetImageBounds().Y), Color.White, Color.Black); Drawer2D.DrawStrokedText(batch, "" + (Item.CurrentAmount * Item.Price).ToString("C"), GUI.SmallFont, new Vector2(GetImageBounds().X + GetImageBounds().Width / 2, GetImageBounds().Y + GetImageBounds().Height - 20), Color.White, Color.Black); } else { Drawer2D.DrawStrokedText(batch, "" + Item.Price.ToString("C"), GUI.SmallFont, new Vector2(GetImageBounds().X + GetImageBounds().Width / 2, GetImageBounds().Y + GetImageBounds().Height - 20), Color.White, Color.Black); } //batch.DrawString(GUI.SmallFont, "" + Item.CurrentAmount, new Vector2(GetImageBounds().X, GetImageBounds().Y), Color.Black); } base.Render(time, batch); }