Esempio n. 1
0
 private UiPosition GetPanelPosition(PanelSetup setup, TypePadding dockPadding)
 {
     return(new UiPosition(setup.StartPos,
                           setup.Pos.StartYPos + dockPadding.Bottom,
                           setup.PanelReg.Width,
                           setup.Pos.Height - (dockPadding.Bottom + dockPadding.Top)));
 }
Esempio n. 2
0
 protected PanelType(Hash <string, object> data)
 {
     Enabled = (bool)data[nameof(Enabled)];
     Color   = (string)data[nameof(Color)];
     Order   = (int)data[nameof(Order)];
     Width   = (float)data[nameof(Width)];
     Padding = new TypePadding((Hash <string, object>)data[nameof(Padding)]);
 }
Esempio n. 3
0
        private UiPosition GetTypePosition(float startPos, float width, TypePadding padding)
        {
            UiPosition pos = new UiPosition(startPos + padding.Left,
                                            padding.Bottom,
                                            width * (1 - (padding.Left + padding.Right)),
                                            1 - (padding.Top + padding.Bottom));

            return(pos);
        }
Esempio n. 4
0
        private List <PanelUpdate> CreatePanel(Panel panel, PanelSetup setup, UpdateEnum update)
        {
            List <PanelUpdate> containers = new List <PanelUpdate>();

            if (update == UpdateEnum.All || update == UpdateEnum.Panel)
            {
                TypePadding         dockPadding = _pluginConfig.Docks[setup.PanelReg.Dock].DockPadding;
                UiPosition          pos         = GetPanelPosition(setup, dockPadding);
                CuiElementContainer container   = Ui.Container(setup.PanelColor, pos, setup.UiParentPanel);
                containers.Add(new PanelUpdate
                {
                    Container = container,
                    PanelName = setup.UiParentPanel
                });
            }

            List <PanelType> panelTypes = new List <PanelType>();

            if (panel.Text != null)
            {
                panelTypes.Add(panel.Text);
            }

            if (panel.Image != null)
            {
                panelTypes.Add(panel.Image);
            }

            float offset = 0;

            foreach (PanelType type in panelTypes.Where(pt => pt.Enabled).OrderBy(pt => pt.Order))
            {
                if (type is PanelText)
                {
                    if (update == UpdateEnum.All || update == UpdateEnum.Text)
                    {
                        containers.Add(CreateText(panel, setup.UiParentPanel, offset));
                    }
                }
                else if (type is PanelImage)
                {
                    if (update == UpdateEnum.All || update == UpdateEnum.Image)
                    {
                        containers.Add(CreateImage(panel, setup.UiParentPanel, offset));
                    }
                }

                offset += type.Width;
            }

            return(containers);
        }