19 lines
458 B
GDScript
19 lines
458 B
GDScript
class_name HurtBox
|
|
extends Area3D
|
|
|
|
@export var object: Node3D
|
|
|
|
func _init() -> void:
|
|
collision_layer = 0
|
|
collision_mask = 2
|
|
|
|
func _ready() -> void:
|
|
connect("area_entered", _on_area_entered)
|
|
|
|
func _on_area_entered(hitbox: HitBox) -> void:
|
|
if hitbox == null: return
|
|
if object is Item or object is Unit:
|
|
print(object.name + " take damage by " + hitbox.object.name + "...")
|
|
if owner.has_method("take_damage"):
|
|
owner.take_damage(hitbox.get_damage())
|