public void CreateMenu(Game1 game) { _desktop = new Desktop(game.Batch); var root = _desktop.Root; var label = _factory.CreateLabel(1); label.OffsetFrom = Anchors.TopCenter; label.Offset = new Vector2(0, 40); label.Text = "My cool game"; label.ComputeSize(Vector2.Zero, Autosize.Content); var content = new ContentControll(); content.OffsetFrom = Anchors.Center; var start = _factory.CreateTextButton(0); start.OffsetFrom = Anchors.Center; start.Offset = new Vector2(0, -80); start.Text = "New game"; start.MouseUp += (s, e) => { LoadGame(); }; var options = _factory.CreateTextButton(0); options.OffsetFrom = Anchors.Center; options.Text = "Options"; var exit = _factory.CreateTextButton(0); exit.OffsetFrom = Anchors.Center; exit.Offset = new Vector2(0, 80); exit.Text = "Exit"; var border = _factory.CreatePanel(3); border.Border = new Margin(40, 40); border.ComputeSize(_desktop.Size - new Vector2(25), Autosize.Fill); border.OffsetFrom = Anchors.Center; border.StretchTexture(); var panel = _factory.CreatePanel(4); panel.ComputeSize(_desktop.Size, Autosize.Content); content.Children.Add(panel); content.Children.Add(start); content.Children.Add(options); content.Children.Add(exit); content.ComputeSize(root.Size, Autosize.Content); root.Children.Add(border); root.Children.Add(label); root.Children.Add(content); }
public PauseMenu(Game1 game) : base(game.Batch) { var _factory = game.Services.GetService <ControlsFactory>(); var label = _factory.CreateLabel(fontName: "fonts/commodore64"); label.OffsetFrom = Anchors.TopCenter; label.Offset = new Vector2(0, 40); label.Text = "Pause"; label.ComputeSize(Vector2.Zero, Autosize.Content); var content = new ContentControll(); content.OffsetFrom = Anchors.Center; var start = _factory.CreateTextButton(0); start.OffsetFrom = Anchors.Center; start.Offset = new Vector2(0, -80); start.Text = "Continue"; start.MouseUp += (s, e) => GameContext.Hud.Default(); var save = _factory.CreateTextButton(0); save.OffsetFrom = Anchors.Center; save.Text = "Save"; save.MouseUp += (s, e) => { new SaveContext().Save(); }; var exit = _factory.CreateTextButton(0); exit.OffsetFrom = Anchors.Center; exit.Offset = new Vector2(0, 80); exit.Text = "Exit"; var panel = _factory.CreatePanel(4); panel.ComputeSize(Size, Autosize.Content); content.Children.Add(panel); content.Children.Add(start); content.Children.Add(save); content.Children.Add(exit); content.Children.Add(label); content.ComputeSize(Size, Autosize.Content); Root.Children.Add(content); this.Update(new GameTime()); }
public InventoryOpen(Game1 game) : base(game.Batch, SpriteSortMode.FrontToBack) { var factory = game.Services.GetService <ControlsFactory>(); var root = new ContentControll(); root.Size = Size; var frame = new ContentControll(); frame.OffsetFrom = Anchors.Center; #region inventory var items = new WrapContent(); items.OffsetFrom = Anchors.Center; var panel = factory.CreatePanel(4); panel.ComputeSize(Vector2.Zero, Autosize.Content); panel.OffsetFrom = Anchors.Center; items.Size = panel.Size - new Vector2(50); inventory = new InventoryArea(items, factory); inventory.OffsetFrom = Anchors.Center; inventory.Size = items.Size; #endregion #region equipment var helmetPanel = factory.CreatePanel(textureName: "ui/equipment/helmet"); var helmetSlot = new ItemSlot(helmetPanel, ItemTypeFlags.Helmet); helmetSlot.OffsetFrom = Anchors.TopRight; helmetSlot.Offset = new Vector2(50, 0); var weaponPanel = factory.CreatePanel(textureName: "ui/equipment/sword"); var weaponSlot = new ItemSlot(weaponPanel, ItemTypeFlags.Weapon); weaponSlot.OffsetFrom = Anchors.TopRight; weaponSlot.Offset = new Vector2(50, 55); #endregion frame.Size = panel.Size; frame.Children.Add(inventory); frame.Children.Add(panel); frame.Children.Add(items); frame.Children.Add(helmetSlot); frame.Children.Add(weaponSlot); root.Children.Add(frame); Root = root; }
public Default(Game1 game) : base(game.Batch) { var factory = game.Services.GetService <ControlsFactory>(); var root = new ContentControll(); root.Size = Size; var inventory = factory.CreateButton <Button>(2); inventory.OffsetFrom = Anchors.BottomRight; inventory.Offset = new Vector2(-20, -30); inventory.MouseUp += (s, e) => GameContext.Hud.OpenInventory(GameContext.Player); var toBattle = factory.CreateButton <Button>(8); toBattle.OffsetFrom = Anchors.BottomRight; toBattle.Offset = new Vector2(-80, -30); toBattle.MouseUp += (s, e) => GameContext.Combat.StartBattle(); var panel = factory.CreatePanel(5); panel.ComputeSize(Vector2.Zero, Autosize.Content); panel.OffsetFrom = Anchors.BottomRight; var mousePanel = new MouseControl(); mousePanel.Size = panel.Size; mousePanel.OffsetFrom = Anchors.BottomRight; mousePanel.MouseEnter += (s, e) => GameContext.Hud.IsMouseOnHud = true; mousePanel.MouseLeave += (s, e) => GameContext.Hud.IsMouseOnHud = false; root.Children.Add(panel); root.Children.Add(mousePanel); root.Children.Add(inventory); root.Children.Add(toBattle); Root = root; }
public ChestOpen(Game1 game) : base(game.Batch, SpriteSortMode.FrontToBack) { var factory = game.Services.GetService <ControlsFactory>(); var root = new ContentControll(); root.Size = Size; var frame = new ContentControll(); frame.OffsetFrom = Anchors.Center; #region left_inventory var leftFrame = new ContentControll(); var leftItems = new WrapContent(); leftItems.OffsetFrom = Anchors.Center; var leftPanel = factory.CreatePanel(4); leftPanel.OffsetFrom = Anchors.Center; leftItems.Size = leftPanel.Size - new Vector2(50); leftInventory = new InventoryArea(leftItems, factory); leftInventory.Size = leftItems.Size; leftInventory.OffsetFrom = Anchors.Center; leftFrame.Children.Add(leftPanel); leftFrame.Children.Add(leftItems); leftFrame.Children.Add(leftInventory); leftFrame.Size = leftPanel.Size; leftFrame.OffsetFrom = Anchors.CenterRight; #endregion #region right_inventory var rightFrame = new ContentControll(); var rightItems = new WrapContent(); rightItems.OffsetFrom = Anchors.Center; var rightPanel = factory.CreatePanel(4); rightPanel.OffsetFrom = Anchors.Center; rightItems.Size = rightPanel.Size - new Vector2(50); rightInventory = new InventoryArea(rightItems, factory); rightInventory.Size = rightItems.Size; rightInventory.OffsetFrom = Anchors.Center; rightFrame.Children.Add(rightPanel); rightFrame.Children.Add(rightItems); rightFrame.Children.Add(rightInventory); rightFrame.OffsetFrom = Anchors.CenterLeft; rightFrame.Size = rightPanel.Size; #endregion frame.Children.Add(leftFrame); frame.Children.Add(rightFrame); root.Children.Add(frame); Root = root; }
public InventoryArea(ContentControll content, ControlsFactory factory) { _content = content; _factory = factory; }