first commit

This commit is contained in:
2026-07-20 22:48:58 +07:00
commit e80aea750e
599 changed files with 2375815 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
extends Node
class_name HealthComponent
@export var max_health: float = 100.0
var current_health: float = 0.0
# Сигналы, чтобы другие скрипты знали, когда объект ранен или умер
signal health_changed(new_health: float)
signal died
func _ready() -> void:
current_health = max_health
func take_damage(amount: float) -> void:
if current_health <= 0:
return
current_health -= amount
health_changed.emit(current_health)
print("[Здоровье] ", get_parent().name, " получил урон: ", amount, ". Осталось: ", current_health)
if current_health <= 0:
current_health = 0
die()
func die() -> void:
died.emit()
print("[Здоровье] ", get_parent().name, " погиб!")
# Для врага удаляем его со сцены, для игрока тут можно вызвать экран смерти
if get_parent() and get_parent().name != "Player":
get_parent().queue_free()