CI / Test (pull_request) Successful in 22s
- add fire pattern (base interface for all weapons) - add shotgun and cannon pattern - add basic projectile - add input map for shoot
18 lines
427 B
GDScript
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
|