37 lines
1.0 KiB
GDScript
37 lines
1.0 KiB
GDScript
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
|