class_name Jet extends CharacterBody3D @export_enum( "CPU:0", "PLAYER:1" ) var control_mode: int = Globals.ControlMode.CPU_MODE @export_enum( "Allies:0", "Axis:1", "Neutral:2" ) var faction: int @onready var camera: Camera3D = $camera @onready var controller: JetController = $controller var control_frame: BaseJet = null func _ready() -> void: pass #func _process(delta: float) -> void: #var action = controller.process(delta) #if action: #control_frame.do_action(action, delta, self) func _physics_process(delta: float) -> void: var action: Globals.ControllerCommand = controller.process(delta) if action: control_frame.do_action(action, delta, self) velocity = -transform.basis.z * control_frame.speed move_and_slide() #func _unhandled_input(event: InputEvent) -> void: #var action = controller.unhandled_input(event) #if not action: return func set_model(model: Node) -> void: add_child(model) func set_as_player() -> void: camera.current = true controller.control_mode = Globals.ControlMode.PLAYER_MODE func set_as_cpu() -> void: camera.current = false controller.control_mode = Globals.ControlMode.CPU_MODE