aboutsummaryrefslogtreecommitdiff
path: root/internal/game/ui_bar.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/game/ui_bar.go')
-rw-r--r--internal/game/ui_bar.go104
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 "#", "."
-}