Пример #1
0
        public override void Render(DwarfTime gameTime)
        {
            var mouse = GuiRoot.MousePointer;

            GuiRoot.MousePointer      = null;
            GuiRoot.MouseOverlaySheet = null;

            GuiRoot.Draw();

            for (var i = PreviewOffset; i < Items.Count && i < (PreviewOffset + Grid.Children.Count); ++i)
            {
                var item = Items[i];
                if (item.ScreenshotStatus == ChooserItem.ScreenshotStatusEnum.Unloaded)
                {
                    item.Screenshot       = (ScreenshotSource == null ? null : ScreenshotSource(item.Path));
                    item.ScreenshotStatus = (item.Screenshot == null ? ChooserItem.ScreenshotStatusEnum.NoneFound : ChooserItem.ScreenshotStatusEnum.Loaded);
                }

                if (item.ScreenshotStatus == ChooserItem.ScreenshotStatusEnum.Loaded)
                {
                    GuiRoot.DrawQuad(Grid.GetChild(i - PreviewOffset).Rect.Interior(7, 7, 7, 7), item.Screenshot);
                }
            }

            GuiRoot.RedrawPopups(); // This hack sucks.
            GuiRoot.MousePointer = mouse;
            GuiRoot.DrawMouse();
            base.Render(gameTime);
        }
Пример #2
0
        public override void Render(DwarfTime gameTime)
        {
            var mouse = GuiRoot.MousePointer;

            GuiRoot.MousePointer      = null;
            GuiRoot.MouseOverlaySheet = null;

            GuiRoot.Draw();

            for (var i = 0; i < Items.Count; i++)
            {
                var item = Items[i];
                if (item.ScreenshotStatus == ChooserItem.ScreenshotStatusEnum.Unloaded)
                {
                    item.Screenshot       = (ScreenshotSource == null ? null : ScreenshotSource(item.Path));
                    item.ScreenshotStatus = (item.Screenshot == null ? ChooserItem.ScreenshotStatusEnum.NoneFound : ChooserItem.ScreenshotStatusEnum.Loaded);
                }

                if (item.ScreenshotStatus == ChooserItem.ScreenshotStatusEnum.Loaded)
                {
                    if (i < Grid.Children.Count - 1)
                    {
                        var widget = (Grid.GetChild(i + 1) as ChooserWidget);
                        var rect   = widget.ScreenshotWidget.Rect;
                        if (!widget.Hidden)
                        {
                            GuiRoot.DrawQuad(rect, item.Screenshot);
                        }
                    }
                }
            }

            GuiRoot.RedrawPopups(); // This hack sucks.
            GuiRoot.MousePointer = mouse;
            GuiRoot.DrawMouse();
            base.Render(gameTime);
        }
Пример #3
0
        public override void Render(DwarfTime gameTime)
        {
            GuiRoot.Draw();

            if (Generator.CurrentState == WorldGenerator.GenerationState.Finished)
            {
                Preview.DrawPreview();
                GuiRoot.DrawMesh(
                    Gui.Mesh.Quad()
                    .Scale(-ZoomedPreview.Rect.Width, -ZoomedPreview.Rect.Height)
                    .Translate(ZoomedPreview.Rect.X + ZoomedPreview.Rect.Width,
                               ZoomedPreview.Rect.Y + ZoomedPreview.Rect.Height)
                    .Texture(Preview.ZoomedPreviewMatrix),
                    Preview.PreviewTexture);

                GuiRoot.MousePointer = new MousePointer("mouse", 1, 0);
            }

            // This is a serious hack.
            GuiRoot.RedrawPopups();

            GuiRoot.DrawMouse();
            base.Render(gameTime);
        }