class_name GameController extends BaseController func _controller_message(event: BaseEvent) -> void: if event is GameReadyEvent: handle_game_ready_event() elif event is AssignPlayerJet: assign_player_jet(event) func handle_game_ready_event() -> void: controller_message_bus.message.call( CreateAlliesJetEvent.new() ) controller_message_bus.message.call( CreateAxisJetEvent.new() ) var event: AssignPlayerJet = AssignPlayerJet.new() event.set_as_allies() controller_message_bus.message.call_deferred(event) controller_message_bus.message.call_deferred( InitSpawnsLoadedEvent.new() ) func assign_player_jet(event: AssignPlayerJet) -> void: for jet: Jet in jets_collection.get_children(): if not jet.faction == event.faction: continue if jet.controller.control_mode == Globals.ControlMode.PLAYER_MODE: continue jet.set_as_player() break