Initial commit of base flight game project

This commit is contained in:
2026-10-18 14:56:21 -05:00
commit 708559b64a
60 changed files with 6014 additions and 0 deletions
+8
View File
@@ -0,0 +1,8 @@
[gd_scene load_steps=2 format=3 uid="uid://cfcid44xnsbdt"]
[ext_resource type="ArrayMesh" uid="uid://c8bvv6p5yq7um" path="res://assets/Eagle Plus/F15smt.obj" id="1_w7ji6"]
[node name="ally_jet" type="Node3D"]
[node name="mesh" type="MeshInstance3D" parent="."]
mesh = ExtResource("1_w7ji6")
+8
View File
@@ -0,0 +1,8 @@
[gd_scene load_steps=2 format=3 uid="uid://d07rxx62esueq"]
[ext_resource type="ArrayMesh" uid="uid://cvm03vwrytp11" path="res://assets/Sakerfalcon/F16XA.obj" id="1_pdti0"]
[node name="axis_jet" type="Node3D"]
[node name="mesh" type="MeshInstance3D" parent="."]
mesh = ExtResource("1_pdti0")
+11
View File
@@ -0,0 +1,11 @@
class_name CPU extends Node
func process(_delta: float) -> String:
return ""
func physics_process(_delta: float) -> String:
return ""
func unhandled_input(_event: InputEvent) -> String:
return ""
+1
View File
@@ -0,0 +1 @@
uid://co4w1q06mtmjx
+6
View File
@@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://baiynrn3xqvqh"]
[ext_resource type="Script" uid="uid://co4w1q06mtmjx" path="res://scenes/control_modes/cpu.gd" id="1_72ynb"]
[node name="cpu" type="Node"]
script = ExtResource("1_72ynb")
+35
View File
@@ -0,0 +1,35 @@
class_name JetController extends Node
const CPU_MODE: int = 0
const PLAYER_MODE: int = 1
@export_enum("CPU:0", "PLAYER:1") var control_mode: int = PLAYER_MODE
@onready var cpu: CPU = $cpu
@onready var player: Player = $player
func process(delta: float) -> String:
if CPU_MODE == control_mode:
return cpu.process(delta)
elif PLAYER_MODE == control_mode:
return player.process(delta)
return ""
func physics_process(delta: float) -> String:
if CPU_MODE == control_mode:
return cpu.physics_process(delta)
elif PLAYER_MODE == control_mode:
return player.physics_process(delta)
return ""
func unhandled_input(event: InputEvent) -> String:
if CPU_MODE == control_mode:
return cpu.unhandled_input(event)
elif PLAYER_MODE == control_mode:
return player.unhandled_input(event)
return ""
@@ -0,0 +1 @@
uid://d2hwj8lth1mmo
+12
View File
@@ -0,0 +1,12 @@
[gd_scene load_steps=4 format=3 uid="uid://b5btmjvj2gosl"]
[ext_resource type="Script" uid="uid://d2hwj8lth1mmo" path="res://scenes/control_modes/jet_controller.gd" id="1_chekb"]
[ext_resource type="PackedScene" uid="uid://baiynrn3xqvqh" path="res://scenes/control_modes/cpu.tscn" id="2_xyvvi"]
[ext_resource type="PackedScene" uid="uid://87s4f2f202g2" path="res://scenes/control_modes/player.tscn" id="3_c27ir"]
[node name="jet_controller" type="Node"]
script = ExtResource("1_chekb")
[node name="cpu" parent="." instance=ExtResource("2_xyvvi")]
[node name="player" parent="." instance=ExtResource("3_c27ir")]
+11
View File
@@ -0,0 +1,11 @@
class_name Player extends Node
func process(_delta: float) -> String:
return ""
func physics_process(_delta: float) -> String:
return ""
func unhandled_input(_event: InputEvent) -> String:
return ""
+1
View File
@@ -0,0 +1 @@
uid://bbugo3nlb76k7
+6
View File
@@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://87s4f2f202g2"]
[ext_resource type="Script" uid="uid://bbugo3nlb76k7" path="res://scenes/control_modes/player.gd" id="1_3256j"]
[node name="player" type="Node"]
script = ExtResource("1_3256j")
+69
View File
@@ -0,0 +1,69 @@
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
+1
View File
@@ -0,0 +1 @@
uid://be64wnjbfhnhh
+12
View File
@@ -0,0 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://mtfp7066molc"]
[ext_resource type="Script" uid="uid://be64wnjbfhnhh" path="res://scenes/jet.gd" id="1_l0pwp"]
[ext_resource type="PackedScene" uid="uid://b5btmjvj2gosl" path="res://scenes/control_modes/jet_controller.tscn" id="2_t5v3o"]
[node name="jet" type="Node3D"]
script = ExtResource("1_l0pwp")
[node name="camera" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 120, 350)
[node name="controller" parent="." instance=ExtResource("2_t5v3o")]