diff options
Diffstat (limited to 'client/player/item_bubble.gd')
-rw-r--r-- | client/player/item_bubble.gd | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/client/player/item_bubble.gd b/client/player/item_bubble.gd index 5a013053..927a5299 100644 --- a/client/player/item_bubble.gd +++ b/client/player/item_bubble.gd @@ -22,15 +22,20 @@ signal submit_message @onready var progress: ProgressBar = $SubViewport/ItemMessage/VBoxContainer/ProgressBar var item: Item - var timeout_remaining := 0. +var timeout_initial := 0. +var progress_style = preload("res://menu/theme/item_bubble_progress_style.tres") + +func _init(): + progress_style = progress_style.duplicate() -func set_item(t: String, timeout_initial: float, timeout_remaining_: float): +func set_item(t: String, timeout_initial_: float, timeout_remaining_: float): visible = true item = ItemFactory.produce(t, base) base.add_child(item) timeout_remaining = timeout_remaining_ + timeout_initial = timeout_initial_ progress.max_value = timeout_initial progress.value = timeout_remaining @@ -44,3 +49,7 @@ func _process(delta): item.rotation.y += delta * TAU * .05 timeout_remaining -= delta progress.value = timeout_remaining + var x: float = timeout_remaining / timeout_initial + progress_style.bg_color = Color(min((1-x) * 2, 1), min(x * 2, 1), 0.) + progress_style.corner_radius_bottom_right = max(32.-(1.-x)*320, 0) + progress.add_theme_stylebox_override("fill", progress_style) |