2026-10-18 14:56:21 -05:00
|
|
|
class_name JetController extends Node
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const CPU_MODE: int = 0
|
|
|
|
|
const PLAYER_MODE: int = 1
|
|
|
|
|
|
2026-10-18 22:58:58 -05:00
|
|
|
@export_enum(
|
|
|
|
|
"CPU:0",
|
|
|
|
|
"PLAYER:1"
|
|
|
|
|
) var control_mode: int = PLAYER_MODE
|
2026-10-18 14:56:21 -05:00
|
|
|
|
|
|
|
|
@onready var cpu: CPU = $cpu
|
|
|
|
|
@onready var player: Player = $player
|
|
|
|
|
|
|
|
|
|
|
2026-10-20 21:38:30 -05:00
|
|
|
|
|
|
|
|
func process(delta: float) -> Globals.ControllerCommand:
|
2026-10-24 21:41:44 -05:00
|
|
|
match control_mode:
|
|
|
|
|
CPU_MODE:
|
|
|
|
|
return cpu.process(delta)
|
|
|
|
|
PLAYER_MODE:
|
|
|
|
|
return player.process(delta)
|
|
|
|
|
_:
|
|
|
|
|
return Globals.ControllerCommand.NONE
|
2026-10-18 14:56:21 -05:00
|
|
|
|
2026-10-20 21:38:30 -05:00
|
|
|
func physics_process(delta: float) -> Globals.ControllerCommand:
|
2026-10-18 14:56:21 -05:00
|
|
|
if CPU_MODE == control_mode:
|
|
|
|
|
return cpu.physics_process(delta)
|
|
|
|
|
elif PLAYER_MODE == control_mode:
|
|
|
|
|
return player.physics_process(delta)
|
|
|
|
|
|
2026-10-20 21:38:30 -05:00
|
|
|
return Globals.ControllerCommand.NONE
|
2026-10-18 14:56:21 -05:00
|
|
|
|
2026-10-20 21:38:30 -05:00
|
|
|
func unhandled_input(event: InputEvent) -> Globals.ControllerCommand:
|
2026-10-18 14:56:21 -05:00
|
|
|
if CPU_MODE == control_mode:
|
|
|
|
|
return cpu.unhandled_input(event)
|
|
|
|
|
elif PLAYER_MODE == control_mode:
|
|
|
|
|
return player.unhandled_input(event)
|
|
|
|
|
|
2026-10-20 21:38:30 -05:00
|
|
|
return Globals.ControllerCommand.NONE
|