Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }