extends Node2D @export var projectile_prefab : Resource @onready var projectilePrefab : PackedScene = load(projectile_prefab.resource_path) func _process(_delta): rotate_to_pointer() if Input.is_action_just_pressed("attack") or Input.is_action_just_pressed("attack_controller"): spawn_projectile(self.global_position, self.rotation, 350.0, 1) pass func get_aim_pos() -> Vector2: var aim_dir_controller = Input.get_vector("aim_left_controller", "aim_right_controller", "aim_up_controller", "aim_down_controller").normalized() return get_global_mouse_position() if aim_dir_controller.length() == 0 else self.global_position + aim_dir_controller func rotate_to_pointer(): look_at(get_aim_pos()) func spawn_projectile(pos : Vector2, dir : float, speed: float, damage : int): var projectile = projectilePrefab.instantiate() var projectile_audio = projectile.get_node(projectile.audio_pool[randi_range(0, 2)]) projectile.global_position = pos projectile.dir = dir projectile.speed = speed projectile.damage = damage projectile.is_displayed_folded() get_tree().root.add_child(projectile) projectile_audio.play() pass