fight system and whatnot

This commit is contained in:
2025-10-29 01:47:45 +01:00
parent 527be3ee5d
commit 84f75cb2a7
41 changed files with 1433 additions and 57 deletions

View File

@@ -0,0 +1,34 @@
@tool
class_name Hearts
extends Control
@export_range(0, 10, 1) var health: int = 10:
set(value):
health = clamp(value, 0, max_health)
update_health_textures()
var max_health: int = 10
var heart_textures: Array[Node]
func _ready() -> void:
heart_textures = $HeartContainer.get_children()
for heart_texture in heart_textures:
heart_texture.texture = heart_texture.texture.duplicate()
update_health_textures()
func update_health_textures() -> void:
@warning_ignore("integer_division")
var full_hearts: int = health / 2
var half_heart: bool = health % 2 == 1
for i in range(heart_textures.size()):
var heart_texture: TextureRect = heart_textures[i]
var atlas: AtlasTexture = heart_texture.texture as AtlasTexture
if i < full_hearts:
atlas.region.position.x = 1
heart_texture.visible = true
elif i == full_hearts and half_heart:
atlas.region.position.x = 17
heart_texture.visible = true
else:
heart_texture.visible = false