示例#1
0
        public void MakeMenu()
        {
            GuiRoot.RootItem.Clear();

            var frame = MakeMenuFrame("GUI DEBUG");

            MakeMenuItem(frame, "View Atlas", "", (sender, args) =>
            {
                var pane = GuiRoot.ConstructWidget(new ShowTextureDialog());
                GuiRoot.ShowDialog(pane);
                GuiRoot.RootItem.Layout();
            });

            MakeMenuItem(frame, "BACK", "Goodbye.", (sender, args) => StateManager.PopState());

            MakeMenuItem(frame, "DIPLOMACY", "F**K", (sender, args) =>
            {
                var playerFaction            = new MockTradeEntity();
                playerFaction.Resources      = new List <ResourceAmount>(new ResourceAmount[] { (new ResourceAmount(ResourceLibrary.ResourceType.Ale, 10)) });
                playerFaction.Money          = 1000;
                playerFaction.AvailableSpace = 100;

                var envoyFaction       = new MockTradeEntity();
                envoyFaction.Resources = new List <ResourceAmount>();
                envoyFaction.Resources.Add(new ResourceAmount(ResourceLibrary.ResourceType.Ale, 10));
                envoyFaction.Resources.Add(new ResourceAmount(ResourceLibrary.ResourceType.Berry, 10));
                envoyFaction.Resources.Add(new ResourceAmount(ResourceLibrary.ResourceType.Bones, 10));
                envoyFaction.Resources.Add(new ResourceAmount("Ruby", 10));
                envoyFaction.Money = 1000;

                var pane = GuiRoot.ConstructWidget(new NewGui.TradePanel
                {
                    Player = playerFaction,
                    Envoy  = envoyFaction,
                    Rect   = GuiRoot.VirtualScreen
                });

                GuiRoot.ShowDialog(pane);
                GuiRoot.RootItem.Layout();
            });

            GuiRoot.RootItem.Layout();
        }
示例#2
0
        private Widget LabelAndDockWidget(string Label, Widget Widget)
        {
            var r = GuiRoot.ConstructWidget(new Widget
            {
                MinimumSize = new Point(0, 20),
                AutoLayout  = AutoLayout.DockTop,
                Padding     = new Margin(0, 0, 4, 4)
            });

            r.AddChild(new Widget
            {
                Text       = Label,
                AutoLayout = AutoLayout.DockLeft
            });

            Widget.AutoLayout = AutoLayout.DockFill;
            r.AddChild(Widget);

            return(r);
        }
示例#3
0
        protected override void LoadContent()
        {
            var renderData = new Gum.RenderData(
                GraphicsDevice,
                this.Content,
#if GEMXNA
                "Content/xna_draw",
#elif GEMMONO
                "Content/mono_draw",
#endif
                "Content/dwarf_corp_skin/sheets.txt");

            GuiRoot = new Root(new Point(640, 480), renderData);

            GuiRoot.MousePointer    = new MousePointer("mouse", 1.0f, 0);
            GuiRoot.TooltipTextSize = 2;

            var frame = GuiRoot.RootItem.AddChild(new Widget
            {
                Text                = "- DEMO MENU -",
                Border              = "border-one",
                TextSize            = 1,
                TextColor           = new Vector4(1, 0, 0, 1),
                TextHorizontalAlign = HorizontalAlign.Center,
                MinimumSize         = new Point(256, 256),
                AutoLayout          = AutoLayout.FloatCenter,
                InteriorMargin      = new Margin
                {
                    Top = GuiRoot.GetTileSheet("font2").TileHeight * 2
                },
                Padding = new Margin(2, 2, 2, 2),
                Font    = "font2"
            });

            frame.AddChild(new Widget
            {
                Text    = "View Atlas",
                Border  = "border-thin",
                OnClick = (sender, args) =>
                {
                    var dialog = GuiRoot.ConstructWidget(new ShowTextureDialog());
                    GuiRoot.ShowDialog(dialog);
                    GuiRoot.RootItem.Layout();
                },
                TextHorizontalAlign = HorizontalAlign.Center,
                TextVerticalAlign   = VerticalAlign.Center,
                AutoLayout          = AutoLayout.DockTop,
                Font = "font2"
            });

            frame.AddChild(new Widget
            {
                Text    = "View Demo Pane",
                Border  = "border-thin",
                OnClick = (sender, args) =>
                {
                    var dialog = GuiRoot.ConstructWidget(new DemoDialog());
                    GuiRoot.ShowDialog(dialog);
                },
                TextHorizontalAlign = HorizontalAlign.Center,
                TextVerticalAlign   = VerticalAlign.Center,
                AutoLayout          = AutoLayout.DockTop,
                Font = "font2"
            });

            frame.AddChild(new Widget
            {
                Text    = "View Tab Pane",
                Border  = "border-thin",
                OnClick = (sender, args) =>
                {
                    var dialog = GuiRoot.ConstructWidget(new TabDialog());
                    GuiRoot.ShowDialog(dialog);
                },
                TextHorizontalAlign = HorizontalAlign.Center,
                TextVerticalAlign   = VerticalAlign.Center,
                AutoLayout          = AutoLayout.DockTop,
                Font = "font2"
            });

            frame.AddChild(new Widget
            {
                Text    = "View Tilable Border Pane",
                Border  = "border-thin",
                OnClick = (sender, args) =>
                {
                    var dialog = GuiRoot.ConstructWidget(new BorderTilingDialog());
                    GuiRoot.ShowDialog(dialog);
                },
                TextHorizontalAlign = HorizontalAlign.Center,
                TextVerticalAlign   = VerticalAlign.Center,
                AutoLayout          = AutoLayout.DockTop,
                Font = "font2"
            });

            frame.AddChild(new Widget
            {
                Text    = "Toggle Alignment",
                Border  = "border-thin",
                OnClick = (sender, args) =>
                {
                    if (frame.AutoLayout == AutoLayout.FloatTopRight)
                    {
                        frame.AutoLayout = AutoLayout.FloatBottomRight;
                    }
                    else if (frame.AutoLayout == AutoLayout.FloatBottomRight)
                    {
                        frame.AutoLayout = AutoLayout.FloatBottomLeft;
                    }
                    else if (frame.AutoLayout == AutoLayout.FloatBottomLeft)
                    {
                        frame.AutoLayout = AutoLayout.FloatTopLeft;
                    }
                    else if (frame.AutoLayout == AutoLayout.FloatTopLeft)
                    {
                        frame.AutoLayout = AutoLayout.FloatTopRight;
                    }
                    else
                    {
                        frame.AutoLayout = AutoLayout.FloatTopLeft;
                    }
                    GuiRoot.RootItem.Layout();
                },
                TextHorizontalAlign = HorizontalAlign.Center,
                TextVerticalAlign   = VerticalAlign.Center,
                AutoLayout          = AutoLayout.DockTop,
                Font = "font2"
            });

            GuiRoot.RootItem.Layout();
        }