class_name JetController extends Node @export_enum( "CPU:0", "PLAYER:1" ) var control_mode: int = Globals.ControlMode.CPU_MODE @onready var cpu: CPU = $cpu @onready var player: Player = $player func process(delta: float) -> Globals.ControllerCommand: match control_mode: Globals.ControlMode.CPU_MODE: return cpu.process(delta) Globals.ControlMode.PLAYER_MODE: return player.process(delta) _: return Globals.ControllerCommand.NONE func physics_process(delta: float) -> Globals.ControllerCommand: if Globals.ControlMode.CPU_MODE == control_mode: return cpu.physics_process(delta) elif Globals.ControlMode.PLAYER_MODE == control_mode: return player.physics_process(delta) return Globals.ControllerCommand.NONE func unhandled_input(event: InputEvent) -> Globals.ControllerCommand: if Globals.ControlMode.CPU_MODE == control_mode: return cpu.unhandled_input(event) elif Globals.ControlMode.PLAYER_MODE == control_mode: return player.unhandled_input(event) return Globals.ControllerCommand.NONE