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