From 4462600e06e113f28460eea5ca18526f90aaaf4c Mon Sep 17 00:00:00 2001 From: itdominator <1itdominator@gmail.com> Date: Sun, 18 Oct 2026 18:11:32 -0500 Subject: [PATCH] Added WIP game modes; renamed control_modes folder to jet_controls --- game.tscn | 6 +++++- scenes/jet.gd | 5 ----- scenes/jet.tscn | 4 +--- scripts/control_modes/jet_controller.tscn | 12 ------------ scripts/factories/jet_factory.gd | 14 +++++--------- scripts/game_modes/base_game_mode.gd | 1 + scripts/game_modes/base_game_mode.gd.uid | 1 + scripts/game_modes/dog_fight.gd | 1 + scripts/game_modes/dog_fight.gd.uid | 1 + scripts/game_modes/dog_fight_waves.gd | 1 + scripts/game_modes/dog_fight_waves.gd.uid | 1 + scripts/game_modes/game_mode.gd | 19 +++++++++++++++++++ scripts/game_modes/game_mode.gd.uid | 1 + scripts/game_modes/game_mode.tscn | 6 ++++++ .../controller.gd} | 0 .../controller.gd.uid} | 0 scripts/jet_controls/controller.tscn | 12 ++++++++++++ .../{control_modes => jet_controls}/cpu.gd | 0 .../cpu.gd.uid | 0 .../{control_modes => jet_controls}/cpu.tscn | 2 +- .../{control_modes => jet_controls}/player.gd | 0 .../player.gd.uid | 0 .../player.tscn | 2 +- 23 files changed, 57 insertions(+), 32 deletions(-) delete mode 100644 scripts/control_modes/jet_controller.tscn create mode 100644 scripts/game_modes/base_game_mode.gd create mode 100644 scripts/game_modes/base_game_mode.gd.uid create mode 100644 scripts/game_modes/dog_fight.gd create mode 100644 scripts/game_modes/dog_fight.gd.uid create mode 100644 scripts/game_modes/dog_fight_waves.gd create mode 100644 scripts/game_modes/dog_fight_waves.gd.uid create mode 100644 scripts/game_modes/game_mode.gd create mode 100644 scripts/game_modes/game_mode.gd.uid create mode 100644 scripts/game_modes/game_mode.tscn rename scripts/{control_modes/jet_controller.gd => jet_controls/controller.gd} (100%) rename scripts/{control_modes/jet_controller.gd.uid => jet_controls/controller.gd.uid} (100%) create mode 100644 scripts/jet_controls/controller.tscn rename scripts/{control_modes => jet_controls}/cpu.gd (100%) rename scripts/{control_modes => jet_controls}/cpu.gd.uid (100%) rename scripts/{control_modes => jet_controls}/cpu.tscn (80%) rename scripts/{control_modes => jet_controls}/player.gd (100%) rename scripts/{control_modes => jet_controls}/player.gd.uid (100%) rename scripts/{control_modes => jet_controls}/player.tscn (79%) diff --git a/game.tscn b/game.tscn index 61c4af2..ff45a52 100644 --- a/game.tscn +++ b/game.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=3 format=3 uid="uid://cx5ewmp2xcuia"] +[gd_scene load_steps=4 format=3 uid="uid://cx5ewmp2xcuia"] [ext_resource type="PackedScene" uid="uid://bhjfvc7gkrvah" path="res://base_environment.tscn" id="1_80nbo"] [ext_resource type="PackedScene" uid="uid://dk32bn35qku60" path="res://scripts/factories/jet_factory.tscn" id="2_e2o6t"] +[ext_resource type="PackedScene" uid="uid://nlwfoq6opqck" path="res://scripts/game_modes/game_mode.tscn" id="3_fc0e3"] [node name="game" type="Node3D"] @@ -11,3 +12,6 @@ current = true [node name="jet_factory" parent="." instance=ExtResource("2_e2o6t")] + +[node name="game_mode" parent="." node_paths=PackedStringArray("jetFactory") instance=ExtResource("3_fc0e3")] +jetFactory = NodePath("../jet_factory") diff --git a/scenes/jet.gd b/scenes/jet.gd index 7f662aa..8219af8 100644 --- a/scenes/jet.gd +++ b/scenes/jet.gd @@ -10,9 +10,6 @@ class_name Jet extends Node3D func _ready() -> void: - print("Jet ready: ", is_node_ready()) - print("Camera: ", camera) - pass func _process(delta: float) -> void: @@ -31,8 +28,6 @@ func set_model(model: Node): add_child(model) func set_as_player(): - print("Setting player. Ready: ", is_node_ready()) - print("Camera reference: ", camera) camera.current = true controller.control_mode = controller.PLAYER_MODE diff --git a/scenes/jet.tscn b/scenes/jet.tscn index 799fe9f..18524ec 100644 --- a/scenes/jet.tscn +++ b/scenes/jet.tscn @@ -1,12 +1,10 @@ [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://scripts/control_modes/jet_controller.tscn" id="2_t5v3o"] +[ext_resource type="PackedScene" uid="uid://b5btmjvj2gosl" path="res://scripts/jet_controls/controller.tscn" id="2_t5v3o"] [node name="jet" type="Node3D"] script = ExtResource("1_l0pwp") -control_mode = null -CONFLICT_SIDE = null [node name="camera" type="Camera3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 120, 350) diff --git a/scripts/control_modes/jet_controller.tscn b/scripts/control_modes/jet_controller.tscn deleted file mode 100644 index cbd26f8..0000000 --- a/scripts/control_modes/jet_controller.tscn +++ /dev/null @@ -1,12 +0,0 @@ -[gd_scene load_steps=4 format=3 uid="uid://b5btmjvj2gosl"] - -[ext_resource type="Script" uid="uid://d2hwj8lth1mmo" path="res://scripts/control_modes/jet_controller.gd" id="1_chekb"] -[ext_resource type="PackedScene" uid="uid://baiynrn3xqvqh" path="res://scripts/control_modes/cpu.tscn" id="2_xyvvi"] -[ext_resource type="PackedScene" uid="uid://87s4f2f202g2" path="res://scripts/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")] diff --git a/scripts/factories/jet_factory.gd b/scripts/factories/jet_factory.gd index fb6cb8f..836f3f5 100644 --- a/scripts/factories/jet_factory.gd +++ b/scripts/factories/jet_factory.gd @@ -25,21 +25,17 @@ func _get_jet_type(faction: int) -> Jet: func create_player_jet(faction: int = 0) -> Jet: var jet: Jet = _get_jet_type(faction) - get_tree().root.add_child(jet) - print("1") - await get_tree().process_frame - await get_tree().process_frame - await get_tree().process_frame - await get_tree().process_frame - print("2") + get_tree().root.add_child.call_deferred(jet) + await jet.ready + jet.set_as_player() return jet func create_cpu_jet(faction: int = 0) -> Jet: var jet = _get_jet_type(faction) - get_tree().root.add_child(jet) - await get_tree().process_frame + get_tree().root.add_child.call_deferred(jet) + await jet.ready jet.set_as_cpu() return jet diff --git a/scripts/game_modes/base_game_mode.gd b/scripts/game_modes/base_game_mode.gd new file mode 100644 index 0000000..df2b707 --- /dev/null +++ b/scripts/game_modes/base_game_mode.gd @@ -0,0 +1 @@ +class_name BaseGameMode extends Node diff --git a/scripts/game_modes/base_game_mode.gd.uid b/scripts/game_modes/base_game_mode.gd.uid new file mode 100644 index 0000000..440880a --- /dev/null +++ b/scripts/game_modes/base_game_mode.gd.uid @@ -0,0 +1 @@ +uid://bkove4hhspua4 diff --git a/scripts/game_modes/dog_fight.gd b/scripts/game_modes/dog_fight.gd new file mode 100644 index 0000000..654e5fe --- /dev/null +++ b/scripts/game_modes/dog_fight.gd @@ -0,0 +1 @@ +class_name DogFight extends BaseGameMode diff --git a/scripts/game_modes/dog_fight.gd.uid b/scripts/game_modes/dog_fight.gd.uid new file mode 100644 index 0000000..77e1b94 --- /dev/null +++ b/scripts/game_modes/dog_fight.gd.uid @@ -0,0 +1 @@ +uid://bkbfu1tsd611m diff --git a/scripts/game_modes/dog_fight_waves.gd b/scripts/game_modes/dog_fight_waves.gd new file mode 100644 index 0000000..9994cfe --- /dev/null +++ b/scripts/game_modes/dog_fight_waves.gd @@ -0,0 +1 @@ +class_name DogFightWaves extends BaseGameMode diff --git a/scripts/game_modes/dog_fight_waves.gd.uid b/scripts/game_modes/dog_fight_waves.gd.uid new file mode 100644 index 0000000..8e1cb2c --- /dev/null +++ b/scripts/game_modes/dog_fight_waves.gd.uid @@ -0,0 +1 @@ +uid://qo3ajsysrh4c diff --git a/scripts/game_modes/game_mode.gd b/scripts/game_modes/game_mode.gd new file mode 100644 index 0000000..505c114 --- /dev/null +++ b/scripts/game_modes/game_mode.gd @@ -0,0 +1,19 @@ +class_name GameMode extends Node + + +const MODES: Dictionary = { + 0: preload("res://scripts/game_modes/dog_fight.gd"), + 1: preload("res://scripts/game_modes/dog_fight_waves.gd") +} + +@export_enum( + "Dog Fight:0", + "Dog Fight Waves:1" +) var mode: int = 0 + +@export var jetFactory: JetFactory + + +func _ready() -> void: + #MODES[mode].instantiate() + jetFactory.create_player_jet(Globals.FACTION.ALLIES) diff --git a/scripts/game_modes/game_mode.gd.uid b/scripts/game_modes/game_mode.gd.uid new file mode 100644 index 0000000..7cfc4be --- /dev/null +++ b/scripts/game_modes/game_mode.gd.uid @@ -0,0 +1 @@ +uid://dwkkrl7unxqau diff --git a/scripts/game_modes/game_mode.tscn b/scripts/game_modes/game_mode.tscn new file mode 100644 index 0000000..53f67da --- /dev/null +++ b/scripts/game_modes/game_mode.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://nlwfoq6opqck"] + +[ext_resource type="Script" uid="uid://dwkkrl7unxqau" path="res://scripts/game_modes/game_mode.gd" id="1_7wd16"] + +[node name="game_mode" type="Node"] +script = ExtResource("1_7wd16") diff --git a/scripts/control_modes/jet_controller.gd b/scripts/jet_controls/controller.gd similarity index 100% rename from scripts/control_modes/jet_controller.gd rename to scripts/jet_controls/controller.gd diff --git a/scripts/control_modes/jet_controller.gd.uid b/scripts/jet_controls/controller.gd.uid similarity index 100% rename from scripts/control_modes/jet_controller.gd.uid rename to scripts/jet_controls/controller.gd.uid diff --git a/scripts/jet_controls/controller.tscn b/scripts/jet_controls/controller.tscn new file mode 100644 index 0000000..b3bb734 --- /dev/null +++ b/scripts/jet_controls/controller.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=4 format=3 uid="uid://b5btmjvj2gosl"] + +[ext_resource type="Script" uid="uid://d2hwj8lth1mmo" path="res://scripts/jet_controls/controller.gd" id="1_ontwn"] +[ext_resource type="PackedScene" uid="uid://baiynrn3xqvqh" path="res://scripts/jet_controls/cpu.tscn" id="2_nsdyw"] +[ext_resource type="PackedScene" uid="uid://87s4f2f202g2" path="res://scripts/jet_controls/player.tscn" id="3_qj8xu"] + +[node name="controller" type="Node"] +script = ExtResource("1_ontwn") + +[node name="cpu" parent="." instance=ExtResource("2_nsdyw")] + +[node name="player" parent="." instance=ExtResource("3_qj8xu")] diff --git a/scripts/control_modes/cpu.gd b/scripts/jet_controls/cpu.gd similarity index 100% rename from scripts/control_modes/cpu.gd rename to scripts/jet_controls/cpu.gd diff --git a/scripts/control_modes/cpu.gd.uid b/scripts/jet_controls/cpu.gd.uid similarity index 100% rename from scripts/control_modes/cpu.gd.uid rename to scripts/jet_controls/cpu.gd.uid diff --git a/scripts/control_modes/cpu.tscn b/scripts/jet_controls/cpu.tscn similarity index 80% rename from scripts/control_modes/cpu.tscn rename to scripts/jet_controls/cpu.tscn index b3e6f9c..39fa872 100644 --- a/scripts/control_modes/cpu.tscn +++ b/scripts/jet_controls/cpu.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://baiynrn3xqvqh"] -[ext_resource type="Script" uid="uid://co4w1q06mtmjx" path="res://scripts/control_modes/cpu.gd" id="1_72ynb"] +[ext_resource type="Script" uid="uid://co4w1q06mtmjx" path="res://scripts/jet_controls/cpu.gd" id="1_72ynb"] [node name="cpu" type="Node"] script = ExtResource("1_72ynb") diff --git a/scripts/control_modes/player.gd b/scripts/jet_controls/player.gd similarity index 100% rename from scripts/control_modes/player.gd rename to scripts/jet_controls/player.gd diff --git a/scripts/control_modes/player.gd.uid b/scripts/jet_controls/player.gd.uid similarity index 100% rename from scripts/control_modes/player.gd.uid rename to scripts/jet_controls/player.gd.uid diff --git a/scripts/control_modes/player.tscn b/scripts/jet_controls/player.tscn similarity index 79% rename from scripts/control_modes/player.tscn rename to scripts/jet_controls/player.tscn index a449a4c..fd0336b 100644 --- a/scripts/control_modes/player.tscn +++ b/scripts/jet_controls/player.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://87s4f2f202g2"] -[ext_resource type="Script" uid="uid://bbugo3nlb76k7" path="res://scripts/control_modes/player.gd" id="1_3256j"] +[ext_resource type="Script" uid="uid://bbugo3nlb76k7" path="res://scripts/jet_controls/player.gd" id="1_3256j"] [node name="player" type="Node"] script = ExtResource("1_3256j")