public override bool Draw(Rect rect) { if (_value < 0f) { return(false); } var percentage = _value / _max; var showLabel = Label != null; var grid = rect.GetHGrid(GUIPlus.TinyPadding, showLabel ? Theme.LabelWidth.Value : 0f, -1f, _valueStyle == ValueStyle.Hidden ? 0f : Theme.ValueWidth.Value); DrawText(grid[1], Label); GUIPlus.DrawBar(grid[2], percentage, GetBarColor(percentage)); DrawThresholds(grid[2]); DrawValue(grid[3], _value, _max); if (Hud.IsMouseOverConfigButton) { return(true); } if (Widgets.ButtonInvisible(rect.ExpandedBy(GUIPlus.TinyPadding))) { _onClick?.Invoke(); } if (Mouse.IsOver(rect)) { GUIPlus.DrawTooltip(grid[0], Tooltip, false); } return(true); }
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); }
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)); }
public void RangeSlider(RangeOption range, bool enabled = true) { GUIPlus.SetEnabledColor(enabled); var grid = GetRect(Text.LineHeight).GetHGrid(ElementPadding, LabelWidth, ValueWidth, -1f); GUIPlus.DrawText(grid[1], range.Label); GUIPlus.DrawText(grid[2], range.ToString()); var value = Mathf.RoundToInt(Widgets.HorizontalSlider(grid[3], range.Value, range.Min, range.Max, true)); if (enabled) { range.Value = value; } GUIPlus.DrawTooltip(grid[0], range.Tooltip, true); Gap(verticalSpacing); GUIPlus.ResetColor(); }
public override bool Draw(Rect rect) { if (_value < 0f) { return(false); } var percentage = _value / _max; var showLabel = Label != null; var grid = rect.GetHGrid(GUIPlus.TinyPadding, showLabel ? Theme.LabelWidth.Value : 0f, -1f, _valueStyle == ValueStyle.Hidden ? 0f : Theme.ValueWidth.Value); DrawText(grid[1], Label); GUIPlus.DrawBar(grid[2], percentage, GetBarColor(percentage)); DrawThresholds(grid[2]); DrawValue(grid[3], _value, _max); GUIPlus.DrawTooltip(grid[0], Tooltip, false); return(true); }
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); }
public void RangeSliderEntry(RangeOption range, ref string text, int id, bool enabled = true) { GUIPlus.SetEnabledColor(enabled); var grid = GetRect(Text.LineHeight).GetHGrid(ElementPadding, LabelWidth, ValueWidth, -1f); GUIPlus.DrawText(grid[1], range.Label); var entryName = "RangeSliderEntry_Text" + id; var isFocused = GUI.GetNameOfFocusedControl() == entryName; if (!isFocused) { text = range.Value.ToString(); } GUI.SetNextControlName(entryName); var newText = Widgets.TextField(grid[2], text, 5, RangeSliderEntryRegex); if (enabled) { text = newText; } var textValue = text.ToInt(); if (textValue.HasValue) { if (textValue.Value < range.Min) { range.Value = range.Min; } else if (textValue.Value > range.Max) { range.Value = range.Max; } else { range.Value = textValue.Value; } } var sliderName = "RangeSliderEntry_Slider" + id; GUI.SetNextControlName(sliderName); var sliderValue = Mathf.RoundToInt(Widgets.HorizontalSlider(grid[3], range.Value, range.Min, range.Max, true)); if (enabled && range.Value != sliderValue) { range.Value = sliderValue; text = range.Value.ToString(); } if (Widgets.ButtonInvisible(grid[3])) { GUI.FocusControl(sliderName); } GUIPlus.DrawTooltip(grid[0], range.Tooltip, true); Gap(verticalSpacing); GUIPlus.ResetColor(); }