class_name SpawnController extends Node @export var jet_factory: JetFactory func _ready() -> void: spawn_sides() func spawn_sides() -> void: spawn_allies_jet() spawn_axis_jet() func spawn_neutral_jet(): var _jet = spawn_jet( Globals.Faction.NEUTRAL, jet_factory.create_cpu_jet ) func spawn_allies_jet(): var _jet = spawn_jet( Globals.Faction.ALLIES, jet_factory.create_cpu_jet ) func spawn_axis_jet(): var _jet = spawn_jet( Globals.Faction.AXIS, jet_factory.create_cpu_jet ) func spawn_jet(faction: Globals.Faction, callback: Callable) -> Jet: var jet: Jet = null for spawner: Spawner in get_children(): if not spawner.faction == faction: continue if not spawner.is_available: continue jet = callback.call(faction) spawner.align_to_position.call_deferred(jet) return jet