diff options
| author | historia <[not public]> | 2026-06-25 15:40:48 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-06-25 15:40:48 -0400 |
| commit | abd612c15799f604e671e83dc7c410ed2b44185f (patch) | |
| tree | 0597ca92350de73aac2a7cf26b2f2d6595dac0cc /internal/game/ui_bar.go | |
| parent | 2725e2927a1595c7b100d942d1f14146252adeb7 (diff) | |
| download | thehouseoficarus-abd612c15799f604e671e83dc7c410ed2b44185f.tar.gz | |
slop refactor
Diffstat (limited to 'internal/game/ui_bar.go')
| -rw-r--r-- | internal/game/ui_bar.go | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/internal/game/ui_bar.go b/internal/game/ui_bar.go deleted file mode 100644 index ca0b721..0000000 --- a/internal/game/ui_bar.go +++ /dev/null @@ -1,104 +0,0 @@ -package game - -import ( - "math" - "strings" - - "thehouseoficarus/internal/color" -) - -type BarStyle struct { - FilledColor int - EmptyColor int - EmptyDim bool -} - -func RenderBar(current, max, width int, unicode bool) string { - if max <= 0 { - max = 1 - } - if current < 0 { - current = 0 - } - if current > max { - current = max - } - filled := int(math.Round(float64(current) * float64(width) / float64(max))) - if filled > width { - filled = width - } - if filled < 0 { - filled = 0 - } - - fillRune, emptyRune := barRunes(unicode) - return strings.Repeat(fillRune, filled) + strings.Repeat(emptyRune, width-filled) -} - -func RenderBarF(current, max float64, width int, unicode bool) string { - if max <= 0 { - max = 1 - } - ratio := current / max - if ratio > 1 { - ratio = 1 - } - if ratio < 0 { - ratio = 0 - } - filled := int(math.Round(ratio * float64(width))) - if filled > width { - filled = width - } - if filled < 0 { - filled = 0 - } - - fillRune, emptyRune := barRunes(unicode) - return strings.Repeat(fillRune, filled) + strings.Repeat(emptyRune, width-filled) -} - -func RenderColoredBar(current, max, width int, unicode bool, style *BarStyle, mode string) string { - if max <= 0 { - max = 1 - } - if current < 0 { - current = 0 - } - if current > max { - current = max - } - filled := int(math.Round(float64(current) * float64(width) / float64(max))) - if filled > width { - filled = width - } - if filled < 0 { - filled = 0 - } - - fillRune, emptyRune := barRunes(unicode) - fillStr := strings.Repeat(fillRune, filled) - emptyStr := strings.Repeat(emptyRune, width-filled) - - if style != nil && mode != "none" && mode != "" { - if style.FilledColor >= 0 { - fillStr = color.Render(mode, color.ColorSpec{Fg: style.FilledColor}, fillStr) - } - if style.EmptyColor >= 0 { - spec := color.ColorSpec{Fg: style.EmptyColor} - if style.EmptyDim { - spec.Dim = true - } - emptyStr = color.Render(mode, spec, emptyStr) - } - } - - return fillStr + emptyStr -} - -func barRunes(unicode bool) (fill, empty string) { - if unicode { - return "█", "░" - } - return "#", "." -} |
