2026-10-18 14:56:21 -05:00
|
|
|
class_name Jet extends Node3D
|
|
|
|
|
|
|
|
|
|
|
2026-10-18 16:06:22 -05:00
|
|
|
var ALLIES_SIDE: EaglePlus = EaglePlus.new()
|
|
|
|
|
var AXIS_SIDE: SakerFalcon = SakerFalcon.new()
|
2026-10-18 14:56:21 -05:00
|
|
|
|
|
|
|
|
@export_enum("CPU:0", "PLAYER:1") var control_mode: int = JetController.CPU_MODE
|
2026-10-18 16:06:22 -05:00
|
|
|
@export_enum("Allies:0", "Axis:1") var CONFLICT_SIDE: int = ALLIES_SIDE.CONFLICT_SIDE
|
2026-10-18 14:56:21 -05:00
|
|
|
|
|
|
|
|
const JET_MODEL: Dictionary = {
|
2026-10-18 16:06:22 -05:00
|
|
|
ALLIES_SIDE.CONFLICT_SIDE: ALLIES_SIDE.MODEL,
|
|
|
|
|
AXIS_SIDE.CONFLICT_SIDE: AXIS_SIDE.MODEL
|
2026-10-18 14:56:21 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@onready var camera: Camera3D = $camera
|
|
|
|
|
@onready var controller: JetController = $controller
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func _ready() -> void:
|
2026-10-18 16:06:22 -05:00
|
|
|
_load_jet(CONFLICT_SIDE)
|
2026-10-18 14:56:21 -05:00
|
|
|
|
|
|
|
|
if JetController.CPU_MODE == control_mode:
|
|
|
|
|
set_as_cpu()
|
|
|
|
|
elif JetController.PLAYER_MODE == control_mode:
|
|
|
|
|
set_as_player()
|
|
|
|
|
|
|
|
|
|
func _process(delta: float) -> void:
|
|
|
|
|
var action = controller.process(delta)
|
|
|
|
|
if not action: return
|
|
|
|
|
|
2026-10-18 16:06:22 -05:00
|
|
|
#func _physics_process(delta: float) -> void:
|
|
|
|
|
#var action = controller.physics_process(delta)
|
|
|
|
|
#if not action: return
|
2026-10-18 14:56:21 -05:00
|
|
|
|
2026-10-18 16:06:22 -05:00
|
|
|
#func _unhandled_input(event: InputEvent) -> void:
|
|
|
|
|
#var action = controller.unhandled_input(event)
|
|
|
|
|
#if not action: return
|
2026-10-18 14:56:21 -05:00
|
|
|
|
2026-10-18 16:06:22 -05:00
|
|
|
func _load_jet(type: int = CONFLICT_SIDE):
|
2026-10-18 14:56:21 -05:00
|
|
|
add_child( JET_MODEL[type].instantiate() )
|
|
|
|
|
|
2026-10-18 16:06:22 -05:00
|
|
|
|
2026-10-18 14:56:21 -05:00
|
|
|
func set_as_player():
|
|
|
|
|
camera.current = true
|
|
|
|
|
controller.control_mode = controller.PLAYER_MODE
|
|
|
|
|
|
|
|
|
|
func set_as_cpu():
|
|
|
|
|
camera.current = false
|
|
|
|
|
controller.control_mode = controller.CPU_MODE
|