Initial commit of base flight game project
This commit is contained in:
@@ -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")
|
||||
@@ -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")
|
||||
@@ -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 ""
|
||||
@@ -0,0 +1 @@
|
||||
uid://co4w1q06mtmjx
|
||||
@@ -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")
|
||||
@@ -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
|
||||
@@ -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")]
|
||||
@@ -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 ""
|
||||
@@ -0,0 +1 @@
|
||||
uid://bbugo3nlb76k7
|
||||
@@ -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")
|
||||
@@ -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
|
||||
@@ -0,0 +1 @@
|
||||
uid://be64wnjbfhnhh
|
||||
@@ -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")]
|
||||
Reference in New Issue
Block a user