diff options
author | David Luevano Alvarado <david@luevano.xyz> | 2022-06-04 23:00:58 -0600 |
---|---|---|
committer | David Luevano Alvarado <david@luevano.xyz> | 2022-06-04 23:00:58 -0600 |
commit | 36abc689d783774ce4f2d7b5a1bb621d8684be45 (patch) | |
tree | a3dbed6069fbd8d9a588c7510ce581af3e847af0 /src/ui/stats_display/scripts/progression_label.gd | |
parent | 9a2bcf02c2623c8f3e8f5e74e70b3c0333790484 (diff) |
added more ui for after gameplay, generalized basic food
Diffstat (limited to 'src/ui/stats_display/scripts/progression_label.gd')
-rw-r--r-- | src/ui/stats_display/scripts/progression_label.gd | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/ui/stats_display/scripts/progression_label.gd b/src/ui/stats_display/scripts/progression_label.gd new file mode 100644 index 0000000..d4a0da0 --- /dev/null +++ b/src/ui/stats_display/scripts/progression_label.gd @@ -0,0 +1,48 @@ +class_name ProgressionLabel +extends MarginContainer + +enum Type { + BODY_SEGMENT, + EMPTY +} + +export(int) var TYPE: int = Type.EMPTY +export(String) var PREFIX: String +export(float) var BEFORE_VALUE: float +export(float) var AFTER_VALUE: float = -1.0 + +onready var label_prefix: Label = $HBox/Prefix +onready var label_stats: Label = $HBox/Stats +onready var texture_rect: TextureRect = $HBox/Center/VBox/TextureRect + + +var textures: Dictionary = { + Type.BODY_SEGMENT: preload("res://ui/hud/progress_bars/sprites/grow_progress_icon.png"), + Type.EMPTY: preload("res://ui/stats_display/sprites/sep_8x8.png") +} + +var _fmt: String = "%s->%s" +var _fmt_partial: String = "%s" +var _fmt_prefix: String = " %s " + + +func _ready() -> void: + set_properties(TYPE, PREFIX, BEFORE_VALUE, AFTER_VALUE) + + +func set_properties(icon: int, prefix: String, before: float, after: float=-1.0) -> void: + texture_rect.texture = textures[icon] + if after == -1.0: + label_stats.text =_fmt_partial % before + else: + label_stats.text =_fmt % [before, after] + if after > before: + label_stats.add_color_override("font_color", Color.green) + elif after < before: + label_stats.add_color_override("font_color", Color.red) + if not prefix.empty(): + label_prefix.text = _fmt_prefix % prefix + else: + label_prefix.text = " " + label_prefix.update() + label_stats.update() |