extends Area2D export(String) var hurtbox_entered_function = "" var call_function: FuncRef # Declare member variables here. Examples: # var a = 2 # var b = "text" # Called when the node enters the scene tree for the first time. func _ready(): if hurtbox_entered_function: call_function = funcref(owner, hurtbox_entered_function) else: print("Warning: No hurtbox function defined on ", owner.name) func set_hurtbox(enabled: bool): for child in get_children(): if child is CollisionShape2D: child.set_deferred("disabled", !enabled) # Switching to a new model that starts with Hitbox func on_hit(sender): print("Received hit from: " + sender.owner.name) if hurtbox_entered_function: call_function.call_func(sender.damage_amount) # This one doesn't seem to work #func _on_Hurtbox_Component_body_entered(body): # print(body.name, "hit", owner.name) # if owner.has_method("gotcha"): # print(body.name, " you can do it.", owner.name) # well this one works. #func _on_Hurtbox_Component_area_shape_entered(area_rid, area, area_shape_index, local_shape_index): # #print(area.get_parent().name, "hit", owner.name) ## if area.get_parent().has_method("gotcha"): # print(area.get_parent().name, " you can do it.", owner.name) # # if owner.has_method("_on_Hurtbox_area_entered"): # owner.call("_on_Hurtbox_area_entered") # print(area.get_parent().name, " just hit me: ", owner.name)