Files
nerpa d1ae049b00
CI / Test (pull_request) Successful in 22s
feat: add weapons
- add fire pattern (base interface for all weapons)
- add shotgun and cannon pattern
- add basic projectile
- add input map for shoot
2026-05-15 20:51:52 +03:00

18 lines
427 B
GDScript

class_name Weapon
extends Node2D
@export var projectile_scene: PackedScene
@export var fire_pattern: FirePattern
func shoot() -> void:
fire_pattern.fire(global_position, -global_transform.y, spawn_projectile)
func spawn_projectile(pos: Vector2, dir: Vector2):
var proj = projectile_scene.instantiate()
proj.global_position = pos
proj.direction = dir
get_tree().current_scene.get_parent().add_child(proj)
return proj