16 lines
612 B
GDScript
16 lines
612 B
GDScript
extends RayCast3D
|
||
|
||
var damage : float
|
||
|
||
func _ready() -> void:
|
||
if is_colliding():
|
||
var collider = get_collider()
|
||
# API говорит, что коллайдер может не оказаться нодой3д
|
||
if collider is Node3D:
|
||
# Проверяем, является ли ссылка на хитбокс, или нам дали ссылку на основной объект
|
||
if collider.is_in_group("enemy"):
|
||
collider.get_node("Entity").deal_damage(damage)
|
||
elif collider.get_parent().is_in_group("enemy"):
|
||
collider.get_parent().get_node("Entity").deal_damage(damage)
|
||
|
||
queue_free()
|