40 lines
1.2 KiB
GDScript
40 lines
1.2 KiB
GDScript
extends CanvasLayer
|
|
|
|
@onready var _oxygen_bar: ProgressBar = %OxygenBar
|
|
@onready var _health_bar: ProgressBar = %HealthBar
|
|
@onready var _hunger_bar: ProgressBar = %HungerBar
|
|
|
|
|
|
func _ready() -> void:
|
|
_style_bar(_oxygen_bar, Color(0.31, 0.76, 0.97))
|
|
_style_bar(_health_bar, Color(0.91, 0.30, 0.24))
|
|
_style_bar(_hunger_bar, Color(0.95, 0.61, 0.07))
|
|
|
|
|
|
func _style_bar(bar: ProgressBar, color: Color) -> void:
|
|
var style := StyleBoxFlat.new()
|
|
style.bg_color = color
|
|
style.corner_radius_top_left = 4
|
|
style.corner_radius_top_right = 4
|
|
style.corner_radius_bottom_left = 4
|
|
style.corner_radius_bottom_right = 4
|
|
bar.add_theme_stylebox_override("fill", style)
|
|
|
|
var bg_style := StyleBoxFlat.new()
|
|
bg_style.bg_color = Color(0.1, 0.1, 0.1, 0.6)
|
|
bg_style.corner_radius_top_left = 4
|
|
bg_style.corner_radius_top_right = 4
|
|
bg_style.corner_radius_bottom_left = 4
|
|
bg_style.corner_radius_bottom_right = 4
|
|
bar.add_theme_stylebox_override("background", bg_style)
|
|
|
|
|
|
func connect_to_dolphin(dolphin: CharacterBody3D) -> void:
|
|
dolphin.stats_changed.connect(_on_stats_changed)
|
|
|
|
|
|
func _on_stats_changed(oxygen: float, hp: float, hunger: float) -> void:
|
|
_oxygen_bar.value = oxygen
|
|
_health_bar.value = hp
|
|
_hunger_bar.value = hunger
|