2026-10-18 22:58:58 -05:00
|
|
|
class_name Jet extends CharacterBody3D
|
2026-10-18 14:56:21 -05:00
|
|
|
|
|
|
|
|
|
2026-10-18 22:58:58 -05:00
|
|
|
@export_enum(
|
|
|
|
|
"CPU:0",
|
|
|
|
|
"PLAYER:1"
|
2026-10-25 16:22:34 -05:00
|
|
|
) var control_mode: int = Globals.ControlMode.CPU_MODE
|
2026-10-18 14:56:21 -05:00
|
|
|
|
2026-10-18 22:58:58 -05:00
|
|
|
@export_enum(
|
|
|
|
|
"Allies:0",
|
|
|
|
|
"Axis:1",
|
|
|
|
|
"Neutral:2"
|
|
|
|
|
) var faction: int
|
2026-10-18 14:56:21 -05:00
|
|
|
|
|
|
|
|
@onready var camera: Camera3D = $camera
|
|
|
|
|
@onready var controller: JetController = $controller
|
|
|
|
|
|
2026-10-18 22:58:58 -05:00
|
|
|
var control_frame: BaseJet = null
|
|
|
|
|
|
2026-10-18 14:56:21 -05:00
|
|
|
|
|
|
|
|
func _ready() -> void:
|
2026-10-18 17:18:59 -05:00
|
|
|
pass
|
2026-10-18 14:56:21 -05:00
|
|
|
|
2026-10-18 22:58:58 -05:00
|
|
|
#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:
|
2026-10-20 21:38:30 -05:00
|
|
|
var action: Globals.ControllerCommand = controller.process(delta)
|
2026-10-18 14:56:21 -05:00
|
|
|
|
2026-10-18 22:58:58 -05:00
|
|
|
if action:
|
|
|
|
|
control_frame.do_action(action, delta, self)
|
|
|
|
|
|
2026-10-19 21:27:46 -05:00
|
|
|
velocity = -transform.basis.z * control_frame.speed
|
2026-10-18 22:58:58 -05:00
|
|
|
move_and_slide()
|
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 22:58:58 -05:00
|
|
|
func set_model(model: Node) -> void:
|
2026-10-18 17:18:59 -05:00
|
|
|
add_child(model)
|
2026-10-18 16:06:22 -05:00
|
|
|
|
2026-10-18 22:58:58 -05:00
|
|
|
func set_as_player() -> void:
|
2026-10-18 14:56:21 -05:00
|
|
|
camera.current = true
|
2026-10-25 16:22:34 -05:00
|
|
|
controller.control_mode = Globals.ControlMode.PLAYER_MODE
|
2026-10-18 14:56:21 -05:00
|
|
|
|
2026-10-18 22:58:58 -05:00
|
|
|
func set_as_cpu() -> void:
|
2026-10-18 14:56:21 -05:00
|
|
|
camera.current = false
|
2026-10-25 16:22:34 -05:00
|
|
|
controller.control_mode = Globals.ControlMode.CPU_MODE
|