30 lines
674 B
GDScript
30 lines
674 B
GDScript
class_name BulletSet
|
|
extends Node2D
|
|
|
|
|
|
@export var preset: BulletPreset
|
|
|
|
|
|
func _ready() -> void:
|
|
for _n in preset.rounds:
|
|
preset.pattern.spawn_bullets(self, preset)
|
|
await get_tree().create_timer(preset.round_delay, false, true).timeout
|
|
|
|
|
|
func _physics_process(delta: float) -> void:
|
|
if get_child_count() == 0:
|
|
queue_free()
|
|
for bullet in get_children():
|
|
if bullet is Bullet:
|
|
preset.behavior.process_bullet(bullet, delta)
|
|
|
|
|
|
func add_bullet(bullet: Bullet) -> void:
|
|
preset.behavior.init_bullet(bullet)
|
|
add_child(bullet)
|
|
|
|
|
|
func add_bullets(new_bullets: Array[Bullet]) -> void:
|
|
for bullet in new_bullets:
|
|
preset.behavior.init_bullet(bullet)
|
|
add_child(bullet)
|