started work on async loading

This commit is contained in:
derek
2025-03-22 20:01:43 -05:00
parent c1746a92cb
commit 8447589c82
7 changed files with 540 additions and 38 deletions

View File

@@ -3,6 +3,7 @@
[ext_resource type="Script" uid="uid://euykrpkb4h0m" path="res://scripts/scene_changer.gd" id="1_7ngxb"]
[sub_resource type="BoxShape3D" id="BoxShape3D_mvtr6"]
size = Vector3(20, 20, 20)
[sub_resource type="SphereMesh" id="SphereMesh_wfy04"]

View File

@@ -26,8 +26,6 @@ gamemode = ExtResource("2_62iy8")
[node name="Realtime Day Night Cycle" parent="." instance=ExtResource("3_qfkdc")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0169516, 0.0284452, -0.00841761)
realtime = false
set_time = 12.0
[node name="LEVEL UTILS" type="Node" parent="."]
@@ -43,25 +41,25 @@ use_collision = true
size = Vector3(20, 93.1305, 20)
[node name="CSGBox3D2" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18.9745, -373.706, -11.5779)
transform = Transform3D(1, 0, 0, 0, 0.382049, 0, 0, 0, 1, 18.9745, -137.046, -11.5779)
material_override = ExtResource("3_hlejc")
use_collision = true
size = Vector3(21.6041, 760.743, 6.07715)
[node name="CSGBox3D3" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18.9289, -377.958, -0.0683279)
transform = Transform3D(1, 0, 0, 0, 0.382049, 0, 0, 0, 1, 18.9289, -138.671, -0.0683279)
material_override = ExtResource("3_hlejc")
use_collision = true
size = Vector3(21.6041, 769.246, 6.07715)
[node name="CSGBox3D4" type="CSGBox3D" parent="."]
transform = Transform3D(0.00661471, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661471, 7.88029, -381.918, -8.74134)
transform = Transform3D(0.00661471, 0, -0.999978, 0, 0.382049, 0, 0.999978, 0, 0.00661471, 7.88029, -142.18, -8.74134)
material_override = ExtResource("3_hlejc")
use_collision = true
size = Vector3(21.6041, 756.867, 6.07715)
size = Vector3(21.6041, 746.415, 6.07715)
[node name="CSGBox3D5" type="CSGBox3D" parent="."]
transform = Transform3D(0.00661471, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661471, 26.4634, -378.874, -5.57522)
transform = Transform3D(0.00661471, 0, -0.999978, 0, 0.382049, 0, 0.999978, 0, 0.00661471, 26.4634, -139.021, -5.57522)
material_override = ExtResource("3_hlejc")
use_collision = true
size = Vector3(21.6041, 771.124, 6.07715)
@@ -73,12 +71,13 @@ use_collision = true
size = Vector3(18.9743, 2.36012, 19.9824)
[node name="TUBE" type="Node3D" parent="."]
transform = Transform3D(-1, 0, -6.99013e-05, 0, 1, 0, 6.99013e-05, 0, -1, -19.2027, -373.706, 4.67214)
transform = Transform3D(-1, 0, -6.99013e-05, 0, 0.364807, 0, 6.99013e-05, 0, -1, -19.2027, -130.966, 4.67214)
[node name="CSGBox3D7" type="CSGBox3D" parent="TUBE"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 29.4174, 0)
material_override = ExtResource("3_hlejc")
use_collision = true
size = Vector3(21.6041, 760.743, 6.07715)
size = Vector3(21.6041, 701.908, 6.07715)
[node name="CSGBox3D8" type="CSGBox3D" parent="TUBE"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0456009, -4.25201, 11.5096)
@@ -87,10 +86,10 @@ use_collision = true
size = Vector3(21.6041, 769.246, 6.07715)
[node name="CSGBox3D9" type="CSGBox3D" parent="TUBE"]
transform = Transform3D(0.00661477, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661477, -11.0942, -6.68951, 2.83656)
transform = Transform3D(0.00661477, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661477, -11.0942, -14.1368, 2.83656)
material_override = ExtResource("3_hlejc")
use_collision = true
size = Vector3(21.6041, 759.912, 6.07715)
size = Vector3(21.6041, 745.017, 6.07715)
[node name="CSGBox3D10" type="CSGBox3D" parent="TUBE"]
transform = Transform3D(0.00661477, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661477, 7.4889, -5.168, 6.00268)
@@ -105,7 +104,7 @@ use_collision = true
size = Vector3(18.9743, 2.36012, 19.9824)
[node name="TUBE2" type="Node3D" parent="."]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 5.32591, -373.706, 23.0831)
transform = Transform3D(-4.37114e-08, 0, -1, 0, 0.336911, 0, 1, 0, -4.37114e-08, 5.32591, -121.458, 23.0831)
[node name="CSGBox3D7" type="CSGBox3D" parent="TUBE2"]
material_override = ExtResource("3_hlejc")
@@ -119,10 +118,10 @@ use_collision = true
size = Vector3(21.6041, 769.246, 6.07715)
[node name="CSGBox3D9" type="CSGBox3D" parent="TUBE2"]
transform = Transform3D(0.00661477, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661477, -11.0942, -6.68951, 2.83656)
transform = Transform3D(0.00661477, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661477, -11.0942, -13.2437, 2.83656)
material_override = ExtResource("3_hlejc")
use_collision = true
size = Vector3(21.6041, 759.912, 6.07715)
size = Vector3(21.6041, 746.804, 6.07715)
[node name="CSGBox3D10" type="CSGBox3D" parent="TUBE2"]
transform = Transform3D(0.00661477, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661477, 7.4889, -5.168, 6.00268)
@@ -137,7 +136,7 @@ use_collision = true
size = Vector3(18.9743, 2.36012, 19.9824)
[node name="TUBE3" type="Node3D" parent="."]
transform = Transform3D(-0.00141369, 0, 0.999999, 0, 1, 0, -0.999999, 0, -0.00141369, -5.43223, -373.706, -20.5858)
transform = Transform3D(-0.00141369, 0, 0.999999, 0, 0.328083, 0, -0.999999, 0, -0.00141369, -5.43223, -119.183, -20.5858)
[node name="CSGBox3D7" type="CSGBox3D" parent="TUBE3"]
material_override = ExtResource("3_hlejc")
@@ -151,10 +150,10 @@ use_collision = true
size = Vector3(21.6041, 769.246, 6.07715)
[node name="CSGBox3D9" type="CSGBox3D" parent="TUBE3"]
transform = Transform3D(0.00661477, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661477, -11.0942, -6.68951, 2.83656)
transform = Transform3D(0.00661483, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661483, -11.0942, -11.7228, 2.83656)
material_override = ExtResource("3_hlejc")
use_collision = true
size = Vector3(21.6041, 759.912, 6.07715)
size = Vector3(21.6041, 749.846, 6.07715)
[node name="CSGBox3D10" type="CSGBox3D" parent="TUBE3"]
transform = Transform3D(0.00661477, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661477, 7.4889, -5.168, 6.00268)
@@ -172,25 +171,25 @@ size = Vector3(18.9743, 2.36012, 19.9824)
transform = Transform3D(1, 0.000164476, 0.000583754, -0.000165075, 0.999999, 0.00104027, -0.000583585, -0.00104036, 0.999999, 0.818877, 1.17009, 3.09268)
[node name="EnemyWorkingScene" parent="." instance=ExtResource("5_alya6")]
transform = Transform3D(22.6681, 0, 0, 0, 3.41912, 0, 0, 0, 6.68795, 16.4442, -57.3609, -5.67549)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17.0764, -57.3609, -5.67549)
scene_path = "res://scenes/enemy_working_scene.tscn"
scene_name = "Enemy Working Scene"
level_gamemode = ExtResource("6_t16kj")
hub_portal = true
[node name="Blockout2" parent="." instance=ExtResource("5_alya6")]
transform = Transform3D(0.100323, 0, 16.2141, 0, 30.4856, 0, -22.8099, 0, 0.0713132, -17.949, -57.3609, -2.74808)
transform = Transform3D(0.00439817, 0, 0.99999, 0, 1, 0, -0.99999, 0, 0.00439817, -17.949, -57.3609, -2.74808)
hub_portal = true
[node name="Gulag of Money" parent="." instance=ExtResource("5_alya6")]
transform = Transform3D(22.8101, 0, 0, 0, 30.4856, 0, 0, 0, 16.2143, -0.602371, -57.3609, 24.0114)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.602371, -57.3609, 24.0114)
scene_path = "res://scenes/Arena of Money.tscn"
scene_name = "The Gulag"
level_gamemode = ExtResource("6_pf4wj")
hub_portal = true
[node name="TestLevel2v2" parent="." instance=ExtResource("5_alya6")]
transform = Transform3D(22.8101, 0, 0, 0, 30.4856, 0, 0, 0, 16.2143, 0.74234, -57.3609, -22.7822)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.379696, -57.3609, -23.5075)
scene_path = "res://scenes/test_level_2v2.tscn"
scene_name = "Test Level 2v2"
level_gamemode = ExtResource("6_t16kj")

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,3 @@
@tool
extends Node3D
@export var sun_color : GradientTexture1D
@@ -19,7 +18,7 @@ func change_sun():
sun.rotation.x = sun_details["angle"]
sun.rotation.y = north_offset
sun.light_energy = sun_details["energy"]
moon.light_energy = (2 - sun_details["energy"]) * .25
moon.light_energy = (2 - sun_details["energy"]) * .5
func sun_angle_from_time():
var time_dict = Time.get_time_dict_from_system()

View File

@@ -6,7 +6,7 @@ class_name Portal
@export var level_gamemode : gamemode
@export var scene_thumbnail : Texture2D
@export var hub_portal : bool = false
const ENEMY_WORKING_SCENE_ASYNCTEST = preload("res://scenes/enemy_working_scene_ASYNCTEST.tscn")
var timer_active = false
var active = true
var index : int
@@ -24,21 +24,28 @@ func _process(delta: float) -> void:
func _on_body_entered(body: Node3D) -> void:
if body.is_in_group("player"):
if active and timer_active:
#Let the Bounds detector know player is exiting
SignalBus.emit_signal("player_exiting_tree")
if hub_portal:
#add back other portals to round portal array
GameGlobals.current_match[GameGlobals.current_round_id].remove_at(index)
#Set incoming gamemode
GameGlobals.loading_gamemode = level_gamemode
#Save data
if get_tree().current_scene.gamemode.load_save == true:
SaveLoad.save_game_data(get_tree().current_scene.get_name())
SaveLoad.save_user_data()
get_tree().change_scene_to_file(scene_path)
active = false
var scene = ENEMY_WORKING_SCENE_ASYNCTEST.instantiate()
scene.global_basis = global_basis
scene.global_position = global_position
scene.rotation = rotation
scene.scale = Vector3.ONE
add_child(scene)
##Let the Bounds detector know player is exiting
#SignalBus.emit_signal("player_exiting_tree")
#
#if hub_portal:
##add back other portals to round portal array
#GameGlobals.current_match[GameGlobals.current_round_id].remove_at(index)
##Set incoming gamemode
#GameGlobals.loading_gamemode = level_gamemode
##Save data
#if get_tree().current_scene.gamemode.load_save == true:
#SaveLoad.save_game_data(get_tree().current_scene.get_name())
#SaveLoad.save_user_data()
#get_tree().change_scene_to_file(scene_path)
else:
body.velocity = -body.velocity * 2
body.velocity = -body.velocity * 1.1
func _on_start_activation_timeout() -> void: