Files
mmo/scripts/enemy/enemy_healthbar.gd
2026-03-29 16:05:31 +02:00

23 lines
821 B
GDScript

extends Sprite3D
@onready var viewport: SubViewport = $SubViewport
@onready var health_bar: ProgressBar = $SubViewport/HealthBar
@onready var shield_bar: ProgressBar = $SubViewport/ShieldBar
@onready var border: ColorRect = $SubViewport/Border
@onready var health: Node = get_parent().get_node("Health")
@onready var shield: Node = get_parent().get_node("Shield")
func _ready() -> void:
texture = viewport.get_texture()
health_bar.max_value = health.max_health
shield_bar.max_value = shield.max_shield
border.visible = false
EventBus.target_changed.connect(_on_target_changed)
func _process(_delta: float) -> void:
health_bar.value = health.current_health
shield_bar.value = shield.current_shield
func _on_target_changed(_player: Node, target: Node) -> void:
border.visible = (target == get_parent())