RAIDER_GameJam/components/projectile.gd
Felix Kaiser 3f62e5e31d blergh
2025-02-17 16:46:19 +01:00

26 lines
676 B
GDScript

extends CharacterBody3D
class_name Projectile
@export var damage : float = 10
@export var lifetime : float = 1
@export var collsion_scene : PackedScene
signal collided
var timeout_timer : Timer
func _ready() -> void:
timeout_timer = Timer.new()
add_child(timeout_timer)
timeout_timer.timeout.connect(projectile_collision)
timeout_timer.start(lifetime)
func projectile_collision():
timeout_timer.stop()
if collsion_scene:
var new_collision_scene = collsion_scene.instantiate()
get_tree().root.add_child(new_collision_scene)
new_collision_scene.global_transform = global_transform
get_tree().create_timer(lifetime).timeout.connect(queue_free)
collided.emit()