1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
extends Control export var hearts = 5 setget set_hearts export var max_hearts = 5 setget set_max_hearts onready var fullHearts = $FullHarts onready var emptyHearts = $EmptyHarts func set_hearts(value): hearts = clamp(value, 0, max_hearts) if fullHearts != null: fullHearts.rect_size.x = hearts * 15 func set_max_hearts(value): max_hearts = max(value, 1) self.hearts = min(hearts, max_hearts) if emptyHearts != null: emptyHearts.rect_size.x = max_hearts * 15 func _ready(): self.hearts = playerstats.hp playerstats.connect("hp_changed", self, "set_hearts") playerstats.connect("max_hp_changed", self, "set_max_hearts")