Exemplo n.º 1
0
        private void RecalculatePositions(string dockName)
        {
            Hash <string, float> panelPositions = _panelPositions[dockName];

            if (panelPositions == null)
            {
                panelPositions            = new Hash <string, float>();
                _panelPositions[dockName] = panelPositions;
            }

            panelPositions.Clear();

            PanelAlignEnum align       = _pluginConfig.Docks[dockName].Alignment;
            DockData       dock        = _pluginConfig.Docks[dockName];
            DockPosition   pos         = dock.Position;
            float          leftOffset  = dock.DockPadding.Left;
            float          rightOffSet = dock.DockPadding.Right;

            List <PanelRegistration> dockPanels = _registeredPanels.Values
                                                  .Where(rp => rp.Dock == dockName)
                                                  .OrderBy(rp => rp.Order)
                                                  .ToList();

            float startX = pos.XPos;

            if (align == PanelAlignEnum.Right)
            {
                foreach (PanelRegistration panel in dockPanels)
                {
                    startX -= panel.Width + dock.PanelPadding;
                }

                startX    -= leftOffset + rightOffSet;
                dockPanels = dockPanels.OrderByDescending(p => p.Order).ToList();
            }
            else if (align == PanelAlignEnum.Center)
            {
                foreach (PanelRegistration panel in dockPanels)
                {
                    startX -= panel.Width / 2 + dock.PanelPadding / 2;
                }

                startX -= (leftOffset + rightOffSet) / 2;
            }

            float offset = leftOffset;

            foreach (PanelRegistration panel in dockPanels)
            {
                panelPositions[panel.Name] = startX + offset;
                offset += panel.Width + dock.PanelPadding;
                DrawPanel(BasePlayer.activePlayerList, panel, UpdateEnum.All);
            }
        }
Exemplo n.º 2
0
        public SideBarPanel(PanelAlignEnum panelAlign)
        {
            panelAlignEnum = panelAlign;

            BackgroundColor = Color.White;
            VerticalOptions = LayoutOptions.FillAndExpand;
            HorizontalOptions = LayoutOptions.EndAndExpand;

            panelLayout = new RelativeLayout();
            SetLayoutFlags(panelLayout, AbsoluteLayoutFlags.All);
            SetLayoutBounds(panelLayout, new Rectangle(0f, 0f, 1f, 1f));
            Children.Add(panelLayout);

            CloseContext();
        }
Exemplo n.º 3
0
        public SideBarPanel(PanelAlignEnum panelAlign)
        {
            panelAlignEnum = panelAlign;

            BackgroundColor = Color.White;
            VerticalOptions = LayoutOptions.FillAndExpand;
            HorizontalOptions = LayoutOptions.EndAndExpand;

            panelLayout = new RelativeLayout();
            var scrollPanel = new ScrollView
            {
                VerticalOptions = LayoutOptions.FillAndExpand,
                Content = panelLayout,
            };
            Children.Add(scrollPanel);
            CloseContext();
        }
Exemplo n.º 4
0
        public SideBarPanel(PanelAlignEnum panelAlign)
        {
            _panelAlign = panelAlign;

            BackgroundColor   = Color.White;
            VerticalOptions   = LayoutOptions.FillAndExpand;
            HorizontalOptions = LayoutOptions.EndAndExpand;

            panelLayout = new RelativeLayout();
            var scrollPanel = new ScrollView
            {
                VerticalOptions = LayoutOptions.FillAndExpand,
                Content         = panelLayout,
            };

            Children.Add(scrollPanel);
            CloseContext();
        }
Exemplo n.º 5
0
 public SideBarEventArgs(bool isShow, PanelAlignEnum panel)
 {
     IsShow = isShow;
     Panel  = panel;
 }
Exemplo n.º 6
0
 public SideBarEventArgs(bool isShow, PanelAlignEnum panel)
 {
     IsShow = isShow;
     Panel = panel;
 }