Ejemplo n.º 1
0
        public MenuChest(Entity entity, Entity chest, GameState gameState) : base(gameState)
        {
            PauseGame     = true;
            EscapeToClose = true;

            _inventoryA = new WidgetItemContainer(entity.GetComponent <ComponentInventory>().Content)
            {
                Padding = new Spacing(4, 4), Dock = Dock.Fill
            };
            _inventoryB = new WidgetItemContainer(chest.GetComponent <ComponentInventory>().Content)
            {
                Padding = new Spacing(4, 4), Dock = Dock.Fill
            };

            _inventoryA.MouseClick += Tranfer;
            _inventoryB.MouseClick += Tranfer;

            var closeBtn = new WidgetSprite()
            {
                Sprite    = new Sprite(Resources.TileGui, new Point(7, 7)),
                UnitBound = new Rectangle(0, 0, 48, 48),
                Anchor    = Anchor.TopLeft,
                Origine   = Anchor.Center
            };

            closeBtn.MouseClick += CloseBtnOnMouseClick;

            Content = new WidgetFancyPanel()
            {
                Content = new LayoutDock()
                {
                    Children =
                    {
                        new LayoutDock()
                        {
                            Dock     = Dock.Fill,
                            Children ={ closeBtn                }
                        },
                        GuiFactory.CreateSplitContainer(new Rectangle(0, 0, 64, 64), "Inventory", _inventoryA, "Chest",
                                                        _inventoryB),
                    }
                }
            };
        }
Ejemplo n.º 2
0
        public MenuInGame(GameState gameState) : base(gameState)
        {
            var btnMinimap = new WidgetSprite
            {
                Anchor     = Anchor.TopRight,
                Origine    = Anchor.TopRight,
                Sprite     = new Sprite(Resources.TileIcons, new Point(5, 4)),
                UnitOffset = new Point(-16, 16),
            };

            var playerStats = new WidgetPlayerStats(GameState.LocalPlayer.Entity)
            {
                Dock      = Dock.Top,
                UnitBound = new Rectangle(0, 0, 320, 64),
            };

            var minimapPanel = new WidgetFancyPanel()
            {
                Enabled    = false,
                Anchor     = Anchor.TopRight,
                Origine    = Anchor.TopRight,
                UnitBound  = new Rectangle(0, 0, 320, 320),
                UnitOffset = new Point(-16, 16),
                Padding    = new Spacing(0),
                Content    = new WidgetMinimap(gameState),
            };

            var hotBar = new WidgetHotBar(GameState.LocalPlayer.Entity.GetComponent <ComponentInventory>().Content)
            {
                Dock       = Dock.Bottom,
                UnitOffset = new Point(0, -16)
            };

            Content = new LayoutDock
            {
                Children =
                {
                    playerStats, minimapPanel, btnMinimap, hotBar,

                    new WidgetButton
                    {
                        Text       = "Inventory",
                        Origine    = Anchor.BottomLeft,
                        Anchor     = Anchor.BottomLeft,
                        UnitOffset = new Point(16, -16)
                    }
                    .RegisterMouseClickEvent(
                        (sender) => { GameState.CurrentMenu = new MenuGamePaused(GameState); })
                },
                Padding = new Spacing(16)
            };

            btnMinimap.MouseClick += (sender) =>
            {
                minimapPanel.Toggle();
                minimapPanel.RefreshLayout();
                sender.Disable();
            };
            minimapPanel.MouseClick += (sender) =>
            {
                sender.Toggle();
                btnMinimap.Enable();
            };
        }