70 lines
1.4 KiB
GDScript
70 lines
1.4 KiB
GDScript
class_name Jet extends Node3D
|
|
|
|
|
|
const ALLIES_SIDE: int = 0
|
|
const ALLY_JET = preload("uid://cfcid44xnsbdt")
|
|
|
|
const AXIS_SIDE: int = 1
|
|
const AXIS_JET = preload("uid://d07rxx62esueq")
|
|
|
|
@export_enum("CPU:0", "PLAYER:1") var control_mode: int = JetController.CPU_MODE
|
|
@export_enum("Allies:0", "Axis:1") var CONFLICT_SIDE: int = ALLIES_SIDE
|
|
|
|
const JET_MODEL: Dictionary = {
|
|
ALLIES_SIDE: ALLY_JET,
|
|
AXIS_SIDE: AXIS_JET
|
|
}
|
|
|
|
@onready var camera: Camera3D = $camera
|
|
@onready var controller: JetController = $controller
|
|
|
|
|
|
func _ready() -> void:
|
|
load_jet(CONFLICT_SIDE)
|
|
|
|
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
|
|
|
|
func _physics_process(delta: float) -> void:
|
|
controller.physics_process(delta)
|
|
|
|
func _unhandled_input(event: InputEvent) -> void:
|
|
controller.unhandled_input(event)
|
|
|
|
|
|
func load_jet(type: int = CONFLICT_SIDE):
|
|
add_child( JET_MODEL[type].instantiate() )
|
|
|
|
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
|
|
|
|
|
|
func pull_up():
|
|
pass
|
|
|
|
func push_down():
|
|
pass
|
|
|
|
func yaw_left():
|
|
pass
|
|
|
|
func yaw_right():
|
|
pass
|
|
|
|
func roll_left():
|
|
pass
|
|
|
|
func roll_right():
|
|
pass
|