Esempio n. 1
0
        public override void Load()
        {
            _progressLabel = new WidgetLabel
            {
                Anchor     = Anchor.Center,
                Font       = Resources.FontRomulus,
                Origine    = Anchor.Center,
                Text       = "Loading...",
                UnitOffset = new Point(0, -24)
            };

            _progressBar = new WidgetProgress
            {
                Anchor     = Anchor.Center,
                Origine    = Anchor.Center,
                UnitBound  = new Rectangle(0, 0, 320, 8),
                UnitOffset = new Point(0, 24)
            };

            var _cancelButton = new WidgetSprite()
            {
                Anchor     = Anchor.TopRight,
                Origine    = Anchor.Center,
                Sprite     = new Sprite(Resources.TileGui, new Point(7, 7)),
                UnitBound  = new Rectangle(0, 0, 48, 48),
                UnitOffset = new Point(-48, 48)
            }.RegisterMouseClickEvent((sender) =>
            {
                _job.Cancel();
                Game.GoToMainMenu();
            });

            Container = new LayoutDock
            {
                Padding  = new Spacing(16),
                Children =
                {
                    new WidgetFancyPanel
                    {
                        Anchor  = Anchor.Center,
                        Content = new LayoutDock{
                            Children ={ _progressBar,                    _progressLabel, _cancelButton }
                        },
                        Dock      = Rise.Platform.Family == Framework.Platform.PlatformFamily.Mobile ? Dock.Fill : Dock.None,
                        Origine   = Anchor.Center,
                        UnitBound = new Rectangle(0, 0, 840, 256),
                    }
                }
            };

            _job.Start(true);
        }
Esempio n. 2
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),
                    }
                }
            };
        }
Esempio n. 3
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();
            };
        }
Esempio n. 4
0
        public void InitializeComponents()
        {
            PauseGame     = true;
            EscapeToClose = true;

            var r = new List <List <Recipe> >();

            foreach (var e in GameState.LocalPlayer.Entity.Level.QueryEntity(GameState.LocalPlayer.Entity.Position,
                                                                             Game.Unit * 3))
            {
                var s = e.GetComponent <ComponentCraftingStation>();
                if (s != null)
                {
                    if (!r.Contains(s.Recipes))
                    {
                        r.Add(s.Recipes);
                    }
                }
            }

            var recipies = new List <Recipe>();

            recipies.AddRange(RECIPIES.HandCrafted);
            foreach (var i in r)
            {
                recipies.AddRange(i);
            }

            _inventory = new WidgetItemContainer(GameState.LocalPlayer.Entity.GetComponent <ComponentInventory>().Content);
            _crafting  = new CraftingTab(GameState, recipies);

            _inventory.Dock = Dock.Fill;

            _inventory.MouseClick += (sender) =>
            {
                _inventory.HighlightedItem = _inventory.SelectedItem;
                GameState.LocalPlayer.Entity.HoldItem(_inventory.SelectedItem);
            };

            var closeBtn = new WidgetSprite()
            {
                Sprite     = new Sprite(Resources.TileGui, new Point(7, 7)),
                UnitBound  = new Rectangle(0, 0, 48, 48),
                Anchor     = Anchor.TopRight,
                Origine    = Anchor.TopRight,
                UnitOffset = new Point(-24, 24)
            };

            closeBtn.MouseClick += CloseBtnOnMouseClick;

            var _sideMenu = new WidgetTabContainer
            {
                Anchor     = Anchor.Center,
                Origine    = Anchor.Center,
                UnitBound  = new Rectangle(0, 0, 600, 720),
                Dock       = Rise.Platform.Family == PlatformFamily.Mobile ? Dock.Fill : Dock.None,
                TabAnchore = Rise.Platform.Family == PlatformFamily.Mobile ? TabAnchore.Bottom : TabAnchore.Left,

                Tabs =
                {
                    new EquipmentTab(),
                    _crafting,
                    new Tab()
                    {
                        Icon    = new Sprite(Resources.TileIcons, new Point(2,        3)),
                        Content = new LayoutDock()
                        {
                            Padding  = new Spacing(16),
                            Children =
                            {
                                new WidgetLabel {
                                    Text = "Inventory",Font = Resources.FontAlagard,           Dock = Dock.Top
                                },
                                _inventory,
                            }
                        }
                    },
                    new MinimapTab(GameState),
                    new SaveTab(GameState),
                }
            };

            Content = new LayoutDock()
            {
                Children = { _sideMenu },
            };
        }