Example #1
0
 private Border GetBorder(ContainerButton <Recipe> uIElement, SolidColorBrush backColorBrush)
 {
     return(new Border()
     {
         Margin = new Thickness(5),
         Background = backColorBrush,
         BorderThickness = new Thickness(0),
         Child = uIElement,
     });
 }
        private ContainerButton <Recipe> GetButton(Recipe recipe)
        {
            ContainerButton <Recipe> button = new ContainerButton <Recipe>()
            {
                Margin          = new Thickness(10),
                Background      = new SolidColorBrush(Colors.Transparent),
                BorderThickness = new Thickness(0),
                Content         = GetGrid(recipe),
                Value           = recipe,
            };

            button.Click += (s, e) =>
            {
                MainWindow mainWindow = Application.Current.Windows.OfType <MainWindow>().FirstOrDefault();
                mainWindow.DataContext = new RecipeInformation(button.Value);
            };
            return(button);
        }
Example #3
0
            public StorageWindow()
            {
                Title           = "Storage Item";
                RectClipContent = true;

                var containerButton = new ContainerButton
                {
                    SizeFlagsHorizontal = SizeFlags.Fill,
                    SizeFlagsVertical   = SizeFlags.Fill,
                    MouseFilter         = MouseFilterMode.Pass,
                };

                var innerContainerButton = new PanelContainer
                {
                    PanelOverride       = _unHoveredBox,
                    SizeFlagsHorizontal = SizeFlags.Fill,
                    SizeFlagsVertical   = SizeFlags.Fill,
                };


                containerButton.AddChild(innerContainerButton);
                containerButton.OnPressed += args =>
                {
                    var controlledEntity = IoCManager.Resolve <IPlayerManager>().LocalPlayer.ControlledEntity;

                    if (controlledEntity.TryGetComponent(out HandsComponent hands))
                    {
                        StorageEntity.SendNetworkMessage(new InsertEntityMessage());
                    }
                };

                VSplitContainer = new VBoxContainer()
                {
                    MouseFilter = MouseFilterMode.Ignore,
                };
                containerButton.AddChild(VSplitContainer);
                Information = new Label
                {
                    Text = "Items: 0 Volume: 0/0 Stuff",
                    SizeFlagsVertical = SizeFlags.ShrinkCenter
                };
                VSplitContainer.AddChild(Information);

                var listScrollContainer = new ScrollContainer
                {
                    SizeFlagsVertical   = SizeFlags.FillExpand,
                    SizeFlagsHorizontal = SizeFlags.FillExpand,
                    HScrollEnabled      = true,
                    VScrollEnabled      = true,
                };

                EntityList = new VBoxContainer
                {
                    SizeFlagsHorizontal = SizeFlags.FillExpand
                };
                listScrollContainer.AddChild(EntityList);
                VSplitContainer.AddChild(listScrollContainer);

                Contents.AddChild(containerButton);

                listScrollContainer.OnMouseEntered += args =>
                {
                    innerContainerButton.PanelOverride = _HoveredBox;
                };

                listScrollContainer.OnMouseExited += args =>
                {
                    innerContainerButton.PanelOverride = _unHoveredBox;
                };
            }
Example #4
0
        private Grid GetGrid(Recipe recipe)
        {
            Grid grid = new Grid()
            {
                Margin = new Thickness(10),
                HorizontalAlignment = HorizontalAlignment.Center,
                Background          = new SolidColorBrush(Color.FromRgb(248, 248, 248)),
                Height         = 80,
                Width          = 500,
                RowDefinitions =
                {
                    new RowDefinition()
                    {
                        Height = new GridLength(2, GridUnitType.Star)
                    },
                    new RowDefinition()
                    {
                        Height = new GridLength(3, GridUnitType.Star)
                    },
                },
                ColumnDefinitions =
                {
                    new ColumnDefinition()
                    {
                        Width = new GridLength(5, GridUnitType.Star)
                    },
                    new ColumnDefinition()
                    {
                        Width = new GridLength(2, GridUnitType.Star)
                    },
                    new ColumnDefinition()
                    {
                        Width = new GridLength(1, GridUnitType.Star)
                    },
                    new ColumnDefinition()
                    {
                        Width = new GridLength(2, GridUnitType.Star)
                    },
                    new ColumnDefinition()
                    {
                        Width = new GridLength(2, GridUnitType.Star)
                    }
                }
            };

            ContainerButton <Recipe> addButton = new ContainerButton <Recipe>()
            {
                BorderThickness = new Thickness(0),
                Background      = new SolidColorBrush(Colors.Transparent),
                Content         = GetImage("ajouter.png"),
                Value           = recipe,
            };

            addButton.Click += (s, e) =>
            {
                //add recipe
                Basket.Recipes.Add(addButton.Value);
                //reset visual
                InitializationBasket();
            };

            ContainerButton <Recipe> deletButton = new ContainerButton <Recipe>()
            {
                BorderThickness = new Thickness(0),
                Background      = new SolidColorBrush(Colors.Transparent),
                Content         = GetImage("annuler.png"),
                Value           = recipe,
            };

            deletButton.Click += (s, e) =>
            {
                Basket.Recipes.Remove(deletButton.Value);
                //delet recipe
                //reset visual
                InitializationBasket();
            };

            TextBlock name  = GetTextBlock(recipe.Name, new SolidColorBrush(Colors.Black), FontWeights.Bold, 23);
            Grid      price = GetImageText($"{recipe.Price} cook", "label.png", 14, true);

            grid.Children.Add(addButton);
            grid.Children.Add(deletButton);
            grid.Children.Add(name);
            grid.Children.Add(price);

            Grid.SetColumn(addButton, 4);
            Grid.SetColumn(deletButton, 3);
            Grid.SetColumn(name, 0);
            Grid.SetColumn(price, 1);
            Grid.SetRow(name, 1);
            Grid.SetRow(price, 1);

            return(grid);
        }