示例#1
0
 public override bool Draw(HudComponent component, Rect rect)
 {
     GUIPlus.SetColor(Theme.LineColor.Value);
     Widgets.DrawLineHorizontal(rect.x, rect.y + (rect.height / 2f), rect.width);
     GUIPlus.ResetColor();
     return(true);
 }
示例#2
0
        public override bool Draw(Rect rect)
        {
            if (_value.NullOrEmpty() && (_fallbackValue == null))
            {
                return(false);
            }

            var showLabel = Label != null;

            var grid = rect.GetHGrid(GUIPlus.TinyPadding, showLabel ? Theme.LabelWidth.Value : 0f, -1f);

            GUIPlus.SetColor(_color);
            if (showLabel)
            {
                DrawText(grid[1], Label);
            }
            DrawText(grid[2], _value, alignment: showLabel?TextAnchor.MiddleRight: (TextAnchor?)null);
            if (!Hud.IsMouseOverConfigButton && Widgets.ButtonInvisible(rect.ExpandedBy(GUIPlus.TinyPadding)))
            {
                _onClick?.Invoke();
            }
            GUIPlus.ResetColor();

            if (!Hud.IsMouseOverConfigButton)
            {
                GUIPlus.DrawTooltip(grid[0], Tooltip, false);
            }
            return(true);
        }
示例#3
0
 public void ColorOptionSelect(ColorOption colorOption, ref ColorOption selected, bool enabled = true)
 {
     GUIPlus.SetColor(colorOption.Value);
     if (RadioButton(colorOption.Label, selected == colorOption, tooltip: colorOption.Tooltip))
     {
         selected = colorOption;
     }
     GUIPlus.ResetColor();
 }
示例#4
0
        private void DrawThresholds(Rect rect)
        {
            if (_thresholds == null)
            {
                return;
            }

            GUIPlus.SetColor(Theme.BarThresholdColor.Value);
            foreach (var threshold in _thresholds.Where(threshold => threshold > 0f))
            {
                Widgets.DrawLineVertical(Mathf.Round(rect.x + (rect.width * threshold)), rect.y, rect.height);
            }
            GUIPlus.ResetColor();
        }
示例#5
0
        public bool Label(string label, TipSignal?tooltip = null, GameFont?font = null, Color?color = null, bool highlight = false)
        {
            GUIPlus.SetFont(font);
            GUIPlus.SetColor(color);

            var rect = GetRect(Text.CalcHeight(label, ColumnWidth));

            Widgets.Label(rect, label);
            GUIPlus.DrawTooltip(rect, tooltip, highlight);
            Gap(verticalSpacing);

            GUIPlus.ResetColor();
            GUIPlus.ResetFont();

            return(Widgets.ButtonInvisible(rect));
        }
示例#6
0
        public override bool Draw(Rect rect)
        {
            if (_value.NullOrEmpty() && (_fallbackValue == null))
            {
                return(false);
            }

            var showLabel = Label != null;

            var grid = rect.GetHGrid(GUIPlus.TinyPadding, showLabel ? Theme.LabelWidth.Value : 0f, -1f);

            GUIPlus.SetColor(_color);
            if (showLabel)
            {
                DrawText(grid[1], Label);
            }
            DrawText(grid[2], _value, alignment: showLabel?TextAnchor.MiddleRight: (TextAnchor?)null);
            GUIPlus.ResetColor();

            GUIPlus.DrawTooltip(grid[0], Tooltip, false);
            return(true);
        }
示例#7
0
        public void Draw(Rect rect)
        {
            if (_tabs.Length == 0)
            {
                return;
            }

            var vGrid = rect.GetVGrid(TabPadding, _tabHeight, -1f);
            var hGrid = vGrid[1].GetHGrid(TabPadding, Enumerable.Repeat(_tabWidth, _tabs.Length).ToArray());

            for (var index = 0; index < _tabs.Length; index++)
            {
                var tab = _tabs[index];
                GUIPlus.SetColor(tab == _selected ? GUIPlus.ButtonSelectedColor : (Color?)null);
                if (GUIPlus.DrawButton(hGrid[index + 1], tab.Label, tab.Tooltip, enabled: tab.Enabled))
                {
                    _selected = tab;
                }
                GUIPlus.ResetColor();
            }

            _selected.Draw(vGrid[2]);
        }