51 lines
1.1 KiB
GDScript
51 lines
1.1 KiB
GDScript
class_name Jet extends CharacterBody3D
|
|
|
|
|
|
@export_enum(
|
|
"CPU:0",
|
|
"PLAYER:1"
|
|
) var control_mode: int = JetController.CPU_MODE
|
|
|
|
@export_enum(
|
|
"Allies:0",
|
|
"Axis:1",
|
|
"Neutral:2"
|
|
) var faction: int
|
|
|
|
@onready var camera: Camera3D = $camera
|
|
@onready var controller: JetController = $controller
|
|
|
|
var control_frame: BaseJet = null
|
|
|
|
|
|
func _ready() -> void:
|
|
pass
|
|
|
|
#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:
|
|
var action = controller.process(delta)
|
|
|
|
if action:
|
|
control_frame.do_action(action, delta, self)
|
|
|
|
move_and_slide()
|
|
|
|
#func _unhandled_input(event: InputEvent) -> void:
|
|
#var action = controller.unhandled_input(event)
|
|
#if not action: return
|
|
|
|
func set_model(model: Node) -> void:
|
|
add_child(model)
|
|
|
|
func set_as_player() -> void:
|
|
camera.current = true
|
|
controller.control_mode = controller.PLAYER_MODE
|
|
|
|
func set_as_cpu() -> void:
|
|
camera.current = false
|
|
controller.control_mode = controller.CPU_MODE
|