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(); }
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); }
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(); }