Added pause menu

This commit is contained in:
Rob Kelly 2025-03-22 17:16:17 -06:00
parent 85fcf911ed
commit d94f68785a
19 changed files with 562 additions and 16 deletions

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=406 format=4 uid="uid://crydi5cjgfwe5"] [gd_scene load_steps=415 format=4 uid="uid://crydi5cjgfwe5"]
[ext_resource type="PackedScene" uid="uid://oowut88kr2ox" path="res://levels/ghost_ship/player_ship/player_ship.tscn" id="1_2pyr1"] [ext_resource type="PackedScene" uid="uid://oowut88kr2ox" path="res://levels/ghost_ship/player_ship/player_ship.tscn" id="1_2pyr1"]
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="2_2egij"] [ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="2_2egij"]
@ -33,7 +33,6 @@
[ext_resource type="Texture2D" uid="uid://b1m1my5q2vlwi" path="res://assets/props/crate_long/crate_long_R.png" id="30_u2hqf"] [ext_resource type="Texture2D" uid="uid://b1m1my5q2vlwi" path="res://assets/props/crate_long/crate_long_R.png" id="30_u2hqf"]
[ext_resource type="ArrayMesh" uid="uid://5jt7xxr05lw3" path="res://assets/level/hallway/hallway_2.mesh" id="31_ji5cn"] [ext_resource type="ArrayMesh" uid="uid://5jt7xxr05lw3" path="res://assets/level/hallway/hallway_2.mesh" id="31_ji5cn"]
[ext_resource type="ArrayMesh" uid="uid://d0sdsir1hqnbu" path="res://assets/level/wall/wall_4.mesh" id="33_4a0u4"] [ext_resource type="ArrayMesh" uid="uid://d0sdsir1hqnbu" path="res://assets/level/wall/wall_4.mesh" id="33_4a0u4"]
[ext_resource type="Material" uid="uid://dutkfm4ek0ysh" path="res://assets/materials/gunk_bright.material" id="33_76qng"]
[ext_resource type="ArrayMesh" uid="uid://c4klxlj1oop7t" path="res://assets/level/hallway/hallway_4.mesh" id="33_okeuk"] [ext_resource type="ArrayMesh" uid="uid://c4klxlj1oop7t" path="res://assets/level/hallway/hallway_4.mesh" id="33_okeuk"]
[ext_resource type="ArrayMesh" uid="uid://c2pruwilyqs07" path="res://assets/level/floor/floor_6x9.mesh" id="35_6giaa"] [ext_resource type="ArrayMesh" uid="uid://c2pruwilyqs07" path="res://assets/level/floor/floor_6x9.mesh" id="35_6giaa"]
[ext_resource type="ArrayMesh" uid="uid://dkh2r61ydupb7" path="res://assets/level/floor/floor_2.mesh" id="35_d8p6j"] [ext_resource type="ArrayMesh" uid="uid://dkh2r61ydupb7" path="res://assets/level/floor/floor_2.mesh" id="35_d8p6j"]
@ -482,6 +481,45 @@ _surfaces = [{
blend_shape_mode = 0 blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_ojd88") shadow_mesh = SubResource("ArrayMesh_ojd88")
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_76qng"]
width = 256
height = 256
depth = 32
seamless = true
seamless_blend_skirt = 0.5
noise = ExtResource("6_3kphg")
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_pifep"]
width = 256
height = 256
depth = 32
seamless = true
seamless_blend_skirt = 0.5
noise = ExtResource("6_3kphg")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mj4ca"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("5_1njh5")
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
shader_parameter/emission_color = Color(0.66, 0.943333, 1, 1)
shader_parameter/pixellation = 128.0
shader_parameter/time_pixellation = 30.0
shader_parameter/roughness = 0.15
shader_parameter/specular_contribution = 0.8
shader_parameter/emission_strength = 0.04
shader_parameter/uv_scale = Vector2(2, 2)
shader_parameter/time_scale = 0.2
shader_parameter/edge_bleed = 0.25
shader_parameter/gunk_mask = ExtResource("43_1h5r5")
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_76qng")
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_pifep")
shader_parameter/jitter_magnitude = 0.0
shader_parameter/jitter_time_scale = 0.1
shader_parameter/vertex_inflation = 0.0
shader_parameter/inflation_pixellation = 10.0
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_ojd88"] [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_ojd88"]
data = PackedVector3Array(-1, 0, 0.2, -1, -0.4, 0, -1, 0, -0.2, -1, 0, -0.2, -1, -0.4, 0, 1, 0, -0.2, 1, 0, -0.2, -1, -0.4, 0, 1, -0.4, 0, 1, 0, -0.2, 1, -0.4, 0, 1, 0, 0.2, 1, 0, 0.2, 1, -0.4, 0, -1, 0, 0.2, -1, 0, 0.2, 1, -0.4, 0, -1, -0.4, 0, -1, 0, -0.2, 1, 0, -0.2, -1, 0, 0.2, -1, 0, 0.2, 1, 0, -0.2, 1, 0, 0.2) data = PackedVector3Array(-1, 0, 0.2, -1, -0.4, 0, -1, 0, -0.2, -1, 0, -0.2, -1, -0.4, 0, 1, 0, -0.2, 1, 0, -0.2, -1, -0.4, 0, 1, -0.4, 0, 1, 0, -0.2, 1, -0.4, 0, 1, 0, 0.2, 1, 0, 0.2, 1, -0.4, 0, -1, 0, 0.2, -1, 0, 0.2, 1, -0.4, 0, -1, -0.4, 0, -1, 0, -0.2, 1, 0, -0.2, -1, 0, 0.2, -1, 0, 0.2, 1, 0, -0.2, 1, 0, 0.2)
@ -724,6 +762,29 @@ _surfaces = [{
blend_shape_mode = 0 blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_h1nog") shadow_mesh = SubResource("ArrayMesh_h1nog")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_qbsys"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("5_1njh5")
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
shader_parameter/emission_color = Color(0.66, 0.943333, 1, 1)
shader_parameter/pixellation = 128.0
shader_parameter/time_pixellation = 30.0
shader_parameter/roughness = 0.15
shader_parameter/specular_contribution = 0.8
shader_parameter/emission_strength = 0.04
shader_parameter/uv_scale = Vector2(2, 2)
shader_parameter/time_scale = 0.2
shader_parameter/edge_bleed = 0.25
shader_parameter/gunk_mask = ExtResource("43_1h5r5")
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_76qng")
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_pifep")
shader_parameter/jitter_magnitude = 0.0
shader_parameter/jitter_time_scale = 0.1
shader_parameter/vertex_inflation = 0.0
shader_parameter/inflation_pixellation = 10.0
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_mgo71"] [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_mgo71"]
data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, -0.28, 0, 0.7, 0, 0.14, 0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, -0.28, 0, -0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, 0, -0.14, 0.7, 0, 0.14) data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, -0.28, 0, 0.7, 0, 0.14, 0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, -0.28, 0, -0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, 0, -0.14, 0.7, 0, 0.14)
@ -1262,6 +1323,29 @@ _surfaces = [{
blend_shape_mode = 0 blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_h1nog") shadow_mesh = SubResource("ArrayMesh_h1nog")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_2dhfq"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("5_1njh5")
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
shader_parameter/emission_color = Color(0.66, 0.943333, 1, 1)
shader_parameter/pixellation = 128.0
shader_parameter/time_pixellation = 30.0
shader_parameter/roughness = 0.15
shader_parameter/specular_contribution = 0.8
shader_parameter/emission_strength = 0.04
shader_parameter/uv_scale = Vector2(2, 2)
shader_parameter/time_scale = 0.2
shader_parameter/edge_bleed = 0.25
shader_parameter/gunk_mask = ExtResource("43_1h5r5")
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_76qng")
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_pifep")
shader_parameter/jitter_magnitude = 0.0
shader_parameter/jitter_time_scale = 0.1
shader_parameter/vertex_inflation = 0.0
shader_parameter/inflation_pixellation = 10.0
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_2ft6k"] [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_2ft6k"]
data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, -0.28, 0, 0.7, 0, 0.14, 0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, -0.28, 0, -0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, 0, -0.14, 0.7, 0, 0.14) data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, -0.28, 0, 0.7, 0, 0.14, 0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, -0.28, 0, -0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, 0, -0.14, 0.7, 0, 0.14)
@ -1319,6 +1403,29 @@ _surfaces = [{
blend_shape_mode = 0 blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_fkhf3") shadow_mesh = SubResource("ArrayMesh_fkhf3")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_2kcw6"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("5_1njh5")
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
shader_parameter/emission_color = Color(0.66, 0.943333, 1, 1)
shader_parameter/pixellation = 128.0
shader_parameter/time_pixellation = 30.0
shader_parameter/roughness = 0.15
shader_parameter/specular_contribution = 0.8
shader_parameter/emission_strength = 0.04
shader_parameter/uv_scale = Vector2(2, 2)
shader_parameter/time_scale = 0.2
shader_parameter/edge_bleed = 0.25
shader_parameter/gunk_mask = ExtResource("43_1h5r5")
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_76qng")
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_pifep")
shader_parameter/jitter_magnitude = 0.0
shader_parameter/jitter_time_scale = 0.1
shader_parameter/vertex_inflation = 0.0
shader_parameter/inflation_pixellation = 10.0
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_7ctwk"] [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_7ctwk"]
data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, -0.28, 0, 0.7, 0, 0.14, 0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, -0.28, 0, -0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, 0, -0.14, 0.7, 0, 0.14) data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, -0.28, 0, 0.7, 0, 0.14, 0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, -0.28, 0, -0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, 0, -0.14, 0.7, 0, 0.14)
@ -2798,6 +2905,29 @@ _surfaces = [{
blend_shape_mode = 0 blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_fkhf3") shadow_mesh = SubResource("ArrayMesh_fkhf3")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_y0tcr"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("5_1njh5")
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
shader_parameter/emission_color = Color(0.66, 0.943333, 1, 1)
shader_parameter/pixellation = 128.0
shader_parameter/time_pixellation = 30.0
shader_parameter/roughness = 0.15
shader_parameter/specular_contribution = 0.8
shader_parameter/emission_strength = 0.04
shader_parameter/uv_scale = Vector2(2, 2)
shader_parameter/time_scale = 0.2
shader_parameter/edge_bleed = 0.25
shader_parameter/gunk_mask = ExtResource("43_1h5r5")
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_76qng")
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_pifep")
shader_parameter/jitter_magnitude = 0.0
shader_parameter/jitter_time_scale = 0.1
shader_parameter/vertex_inflation = 0.0
shader_parameter/inflation_pixellation = 10.0
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_dxmep"] [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_dxmep"]
data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, -0.28, 0, 0.7, 0, 0.14, 0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, -0.28, 0, -0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, 0, -0.14, 0.7, 0, 0.14) data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, -0.28, 0, 0.7, 0, 0.14, 0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, -0.28, 0, -0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, 0, -0.14, 0.7, 0, 0.14)
@ -2855,6 +2985,29 @@ _surfaces = [{
blend_shape_mode = 0 blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_4akax") shadow_mesh = SubResource("ArrayMesh_4akax")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_c4ji2"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("5_1njh5")
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
shader_parameter/emission_color = Color(0.66, 0.943333, 1, 1)
shader_parameter/pixellation = 128.0
shader_parameter/time_pixellation = 30.0
shader_parameter/roughness = 0.15
shader_parameter/specular_contribution = 0.8
shader_parameter/emission_strength = 0.04
shader_parameter/uv_scale = Vector2(2, 2)
shader_parameter/time_scale = 0.2
shader_parameter/edge_bleed = 0.25
shader_parameter/gunk_mask = ExtResource("43_1h5r5")
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_76qng")
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_pifep")
shader_parameter/jitter_magnitude = 0.0
shader_parameter/jitter_time_scale = 0.1
shader_parameter/vertex_inflation = 0.0
shader_parameter/inflation_pixellation = 10.0
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_0ij5m"] [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_0ij5m"]
data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, -0.28, 0, 0.7, 0, 0.14, 0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, -0.28, 0, -0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, 0, -0.14, 0.7, 0, 0.14) data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, -0.28, 0, 0.7, 0, 0.14, 0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, -0.28, 0, -0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, 0, -0.14, 0.7, 0, 0.14)
@ -3308,6 +3461,29 @@ _surfaces = [{
blend_shape_mode = 0 blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_eaq62") shadow_mesh = SubResource("ArrayMesh_eaq62")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_bf7oo"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("5_1njh5")
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
shader_parameter/emission_color = Color(0.66, 0.943333, 1, 1)
shader_parameter/pixellation = 128.0
shader_parameter/time_pixellation = 30.0
shader_parameter/roughness = 0.15
shader_parameter/specular_contribution = 0.8
shader_parameter/emission_strength = 0.04
shader_parameter/uv_scale = Vector2(2, 2)
shader_parameter/time_scale = 0.2
shader_parameter/edge_bleed = 0.25
shader_parameter/gunk_mask = ExtResource("43_1h5r5")
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_76qng")
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_pifep")
shader_parameter/jitter_magnitude = 0.0
shader_parameter/jitter_time_scale = 0.1
shader_parameter/vertex_inflation = 0.0
shader_parameter/inflation_pixellation = 10.0
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_wqqoq"] [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_wqqoq"]
data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, -0.28, 0, 0.7, 0, 0.14, 0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, -0.28, 0, -0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, 0, -0.14, 0.7, 0, 0.14) data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, -0.28, 0, 0.7, 0, 0.14, 0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, -0.28, 0, -0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, 0, -0.14, 0.7, 0, 0.14)
@ -3618,6 +3794,29 @@ _surfaces = [{
blend_shape_mode = 0 blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_vt4uw") shadow_mesh = SubResource("ArrayMesh_vt4uw")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_i6b1e"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("5_1njh5")
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
shader_parameter/emission_color = Color(0.66, 0.943333, 1, 1)
shader_parameter/pixellation = 128.0
shader_parameter/time_pixellation = 30.0
shader_parameter/roughness = 0.15
shader_parameter/specular_contribution = 0.8
shader_parameter/emission_strength = 0.04
shader_parameter/uv_scale = Vector2(2, 2)
shader_parameter/time_scale = 0.2
shader_parameter/edge_bleed = 0.25
shader_parameter/gunk_mask = ExtResource("43_1h5r5")
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_76qng")
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_pifep")
shader_parameter/jitter_magnitude = 0.0
shader_parameter/jitter_time_scale = 0.1
shader_parameter/vertex_inflation = 0.0
shader_parameter/inflation_pixellation = 10.0
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_np3w4"] [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_np3w4"]
data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, -0.28, 0, 0.7, 0, 0.14, 0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, -0.28, 0, -0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, 0, -0.14, 0.7, 0, 0.14) data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, -0.28, 0, 0.7, 0, 0.14, 0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, -0.28, 0, -0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, 0, -0.14, 0.7, 0, 0.14)
@ -6026,7 +6225,7 @@ mesh = SubResource("ArrayMesh_anoak")
[node name="GunkBody" parent="Corridor1/Hallway1/AirlockSign" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor1/Hallway1/AirlockSign" instance=ExtResource("2_2egij")]
mask_dim = 32 mask_dim = 32
source_gunk_material = ExtResource("33_76qng") source_gunk_material = SubResource("ShaderMaterial_mj4ca")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor1/Hallway1/AirlockSign/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor1/Hallway1/AirlockSign/GunkBody"]
shape = SubResource("ConcavePolygonShape3D_ojd88") shape = SubResource("ConcavePolygonShape3D_ojd88")
@ -6160,7 +6359,7 @@ mesh = SubResource("ArrayMesh_sux6n")
[node name="GunkBody" parent="Corridor1/Hallway4/MessHallSign" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor1/Hallway4/MessHallSign" instance=ExtResource("2_2egij")]
mask_dim = 32 mask_dim = 32
source_gunk_material = ExtResource("33_76qng") source_gunk_material = SubResource("ShaderMaterial_qbsys")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor1/Hallway4/MessHallSign/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor1/Hallway4/MessHallSign/GunkBody"]
shape = SubResource("ConcavePolygonShape3D_mgo71") shape = SubResource("ConcavePolygonShape3D_mgo71")
@ -6523,7 +6722,7 @@ mesh = SubResource("ArrayMesh_w13dd")
[node name="GunkBody" parent="Corridor2/Hallway1/MessHallSign" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor2/Hallway1/MessHallSign" instance=ExtResource("2_2egij")]
mask_dim = 32 mask_dim = 32
source_gunk_material = ExtResource("33_76qng") source_gunk_material = SubResource("ShaderMaterial_2dhfq")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor2/Hallway1/MessHallSign/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor2/Hallway1/MessHallSign/GunkBody"]
shape = SubResource("ConcavePolygonShape3D_2ft6k") shape = SubResource("ConcavePolygonShape3D_2ft6k")
@ -6556,7 +6755,7 @@ mesh = SubResource("ArrayMesh_f0psm")
[node name="GunkBody" parent="Corridor2/Hallway2/CrewQuartersSign" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor2/Hallway2/CrewQuartersSign" instance=ExtResource("2_2egij")]
mask_dim = 32 mask_dim = 32
source_gunk_material = ExtResource("33_76qng") source_gunk_material = SubResource("ShaderMaterial_2kcw6")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor2/Hallway2/CrewQuartersSign/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor2/Hallway2/CrewQuartersSign/GunkBody"]
shape = SubResource("ConcavePolygonShape3D_7ctwk") shape = SubResource("ConcavePolygonShape3D_7ctwk")
@ -7349,7 +7548,7 @@ mesh = SubResource("ArrayMesh_v4tkv")
[node name="GunkBody" parent="Corridor3/Hallway/CrewQuartersSign" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor3/Hallway/CrewQuartersSign" instance=ExtResource("2_2egij")]
mask_dim = 32 mask_dim = 32
source_gunk_material = ExtResource("33_76qng") source_gunk_material = SubResource("ShaderMaterial_y0tcr")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor3/Hallway/CrewQuartersSign/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor3/Hallway/CrewQuartersSign/GunkBody"]
shape = SubResource("ConcavePolygonShape3D_dxmep") shape = SubResource("ConcavePolygonShape3D_dxmep")
@ -7382,7 +7581,7 @@ mesh = SubResource("ArrayMesh_v0ki8")
[node name="GunkBody" parent="Corridor3/Hallway2/OpsSign" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor3/Hallway2/OpsSign" instance=ExtResource("2_2egij")]
mask_dim = 32 mask_dim = 32
source_gunk_material = ExtResource("33_76qng") source_gunk_material = SubResource("ShaderMaterial_c4ji2")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor3/Hallway2/OpsSign/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor3/Hallway2/OpsSign/GunkBody"]
shape = SubResource("ConcavePolygonShape3D_0ij5m") shape = SubResource("ConcavePolygonShape3D_0ij5m")
@ -7621,7 +7820,7 @@ mesh = SubResource("ArrayMesh_dspic")
[node name="GunkBody" parent="Corridor3/ShortHallway3/MedbaySign" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor3/ShortHallway3/MedbaySign" instance=ExtResource("2_2egij")]
mask_dim = 32 mask_dim = 32
source_gunk_material = ExtResource("33_76qng") source_gunk_material = SubResource("ShaderMaterial_bf7oo")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor3/ShortHallway3/MedbaySign/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor3/ShortHallway3/MedbaySign/GunkBody"]
shape = SubResource("ConcavePolygonShape3D_wqqoq") shape = SubResource("ConcavePolygonShape3D_wqqoq")
@ -7783,7 +7982,7 @@ mesh = SubResource("ArrayMesh_rigxx")
[node name="GunkBody" parent="Corridor3/ShortHallway6/CargoBaySign" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor3/ShortHallway6/CargoBaySign" instance=ExtResource("2_2egij")]
mask_dim = 32 mask_dim = 32
source_gunk_material = ExtResource("33_76qng") source_gunk_material = SubResource("ShaderMaterial_i6b1e")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor3/ShortHallway6/CargoBaySign/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor3/ShortHallway6/CargoBaySign/GunkBody"]
shape = SubResource("ConcavePolygonShape3D_np3w4") shape = SubResource("ConcavePolygonShape3D_np3w4")

View File

@ -143,6 +143,11 @@ select_prev_tool={
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":5,"canceled":false,"pressed":false,"double_click":false,"script":null) "events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":5,"canceled":false,"pressed":false,"double_click":false,"script":null)
] ]
} }
pause={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
[layer_names] [layer_names]

View File

@ -6,4 +6,9 @@ static var manager: GameManagerType:
get(): get():
return GameManager return GameManager
static var hud: PlayerHUD ## Global static access to Game singleton
static var instance: Game
func _ready() -> void:
Game.instance = self

View File

@ -15,9 +15,6 @@ func _unhandled_input(event: InputEvent) -> void:
camera_motion((event as InputEventMouseMotion).relative) camera_motion((event as InputEventMouseMotion).relative)
elif event is InputEventMouseButton: elif event is InputEventMouseButton:
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
elif event is InputEventKey:
if (event as InputEventKey).keycode == KEY_ESCAPE:
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
func camera_motion(motion: Vector2) -> void: func camera_motion(motion: Vector2) -> void:

View File

@ -7,7 +7,6 @@ class_name PlayerHUD extends Control
func _ready() -> void: func _ready() -> void:
Game.manager.alert_raised.connect(_on_raise_alert) Game.manager.alert_raised.connect(_on_raise_alert)
Game.hud = self
func select_interactive(prop: Interactive) -> void: func select_interactive(prop: Interactive) -> void:

BIN
src/ui/menus/menu.theme Normal file

Binary file not shown.

View File

@ -0,0 +1,68 @@
extends Control
## Menu shown in-game when the user presses pause.
@export var settings_scene: PackedScene
var _freeze_input := false
@onready var menu_list: VBoxContainer = %MenuList
@onready var quit_confirm: CenterContainer = %QuitConfirm
@onready var end_game_confirm: CenterContainer = %EndGameConfirm
@onready var settings_container: MarginContainer = %SettingsContainer
func _ready() -> void:
print_debug("PAUSING")
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
Engine.time_scale = 1.0
func _unhandled_key_input(event: InputEvent) -> void:
if not _freeze_input and event.is_action_pressed("pause"):
get_viewport().set_input_as_handled()
resume()
func _unhide() -> void:
menu_list.show()
func _hide() -> void:
menu_list.hide()
func resume() -> void:
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
queue_free()
func settings() -> void:
var instance: Control = settings_scene.instantiate()
settings_container.add_child(instance)
instance.tree_exited.connect(_unhide)
_hide()
func quit() -> void:
quit_confirm.show()
func cancel_quit() -> void:
quit_confirm.hide()
func confirm_quit() -> void:
get_tree().root.propagate_notification(NOTIFICATION_WM_CLOSE_REQUEST)
func end_game() -> void:
end_game_confirm.show()
func cancel_end_game() -> void:
end_game_confirm.hide()
func confirm_end_game() -> void:
print_debug("TODO")
#world.fade_to_title()

View File

@ -0,0 +1 @@
uid://cllx5glqld8wn

View File

@ -0,0 +1,205 @@
[gd_scene load_steps=4 format=3 uid="uid://byvjsvavbg5xe"]
[ext_resource type="Theme" uid="uid://doq7ay6f7dgfo" path="res://src/ui/menus/menu.theme" id="1_b4t8b"]
[ext_resource type="Script" uid="uid://cllx5glqld8wn" path="res://src/ui/menus/pause_menu/pause_menu.gd" id="1_rd0j2"]
[sub_resource type="Resource" id="Resource_6sp1a"]
metadata/__load_path__ = "res://src/ui/menus/settings_menu/settings_menu.tscn"
[node name="PauseMenu" type="Control"]
process_mode = 3
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_b4t8b")
script = ExtResource("1_rd0j2")
settings_scene = SubResource("Resource_6sp1a")
[node name="Shade" type="ColorRect" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0, 0, 0, 0.627451)
[node name="MenuList" type="VBoxContainer" parent="."]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -127.0
offset_top = -147.0
offset_right = 127.0
offset_bottom = 147.0
grow_horizontal = 2
grow_vertical = 2
alignment = 1
[node name="TitleLabel" type="Label" parent="MenuList"]
layout_mode = 2
theme_override_colors/font_color = Color(1, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_font_sizes/font_size = 72
text = "GRUNK"
horizontal_alignment = 1
[node name="PauseLabel" type="Label" parent="MenuList"]
layout_mode = 2
theme_override_colors/font_color = Color(1, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
text = "paused"
horizontal_alignment = 1
[node name="HSeparator" type="HSeparator" parent="MenuList"]
layout_mode = 2
theme_override_constants/separation = 24
[node name="VBoxContainer" type="VBoxContainer" parent="MenuList"]
layout_mode = 2
size_flags_horizontal = 4
alignment = 1
[node name="ResumeButton" type="Button" parent="MenuList/VBoxContainer"]
layout_mode = 2
text = "Resume"
[node name="SettingsButton" type="Button" parent="MenuList/VBoxContainer"]
layout_mode = 2
text = "Settings"
[node name="EndGameButton" type="Button" parent="MenuList/VBoxContainer"]
layout_mode = 2
theme_type_variation = &"DangerButton"
text = "Quit to Title"
[node name="QuitButton" type="Button" parent="MenuList/VBoxContainer"]
layout_mode = 2
theme_type_variation = &"DangerButton"
text = "Quit to Desktop"
[node name="SettingsContainer" type="MarginContainer" parent="."]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -640.0
offset_top = -360.0
offset_right = 640.0
offset_bottom = 360.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
[node name="QuitConfirm" type="CenterContainer" parent="."]
unique_name_in_owner = true
visible = false
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="PanelContainer" type="PanelContainer" parent="QuitConfirm"]
layout_mode = 2
[node name="MarginContainer" type="MarginContainer" parent="QuitConfirm/PanelContainer"]
layout_mode = 2
theme_override_constants/margin_left = 16
theme_override_constants/margin_top = 16
theme_override_constants/margin_right = 16
theme_override_constants/margin_bottom = 16
[node name="VBoxContainer" type="VBoxContainer" parent="QuitConfirm/PanelContainer/MarginContainer"]
layout_mode = 2
theme_override_constants/separation = 16
[node name="Label" type="Label" parent="QuitConfirm/PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 24
text = "End the game and return to the title screen?
Unsaved progress will be lost."
horizontal_alignment = 1
[node name="HBoxContainer" type="HBoxContainer" parent="QuitConfirm/PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/separation = 16
[node name="CancelButton" type="Button" parent="QuitConfirm/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "Cancel"
[node name="ConfirmQuitButton" type="Button" parent="QuitConfirm/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_type_variation = &"DangerButton"
text = "Quit"
[node name="EndGameConfirm" type="CenterContainer" parent="."]
unique_name_in_owner = true
visible = false
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="PanelContainer" type="PanelContainer" parent="EndGameConfirm"]
layout_mode = 2
[node name="MarginContainer" type="MarginContainer" parent="EndGameConfirm/PanelContainer"]
layout_mode = 2
theme_override_constants/margin_left = 16
theme_override_constants/margin_top = 16
theme_override_constants/margin_right = 16
theme_override_constants/margin_bottom = 16
[node name="VBoxContainer" type="VBoxContainer" parent="EndGameConfirm/PanelContainer/MarginContainer"]
layout_mode = 2
theme_override_constants/separation = 16
[node name="Label" type="Label" parent="EndGameConfirm/PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 24
text = "End the game and return to the desktop?
Unsaved progress will be lost."
horizontal_alignment = 1
[node name="HBoxContainer" type="HBoxContainer" parent="EndGameConfirm/PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/separation = 16
[node name="CancelButton" type="Button" parent="EndGameConfirm/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "Cancel"
[node name="ConfirmEndGameButton" type="Button" parent="EndGameConfirm/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_type_variation = &"DangerButton"
text = "Quit"
[connection signal="pressed" from="MenuList/VBoxContainer/ResumeButton" to="." method="resume"]
[connection signal="pressed" from="MenuList/VBoxContainer/SettingsButton" to="." method="settings"]
[connection signal="pressed" from="MenuList/VBoxContainer/EndGameButton" to="." method="end_game"]
[connection signal="pressed" from="MenuList/VBoxContainer/QuitButton" to="." method="quit"]
[connection signal="pressed" from="QuitConfirm/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/CancelButton" to="." method="cancel_quit"]
[connection signal="pressed" from="QuitConfirm/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/ConfirmQuitButton" to="." method="confirm_quit"]
[connection signal="pressed" from="EndGameConfirm/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/CancelButton" to="." method="cancel_end_game"]
[connection signal="pressed" from="EndGameConfirm/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/ConfirmEndGameButton" to="." method="confirm_end_game"]

38
src/world/world.gd Normal file
View File

@ -0,0 +1,38 @@
class_name World extends Node
## Access and flow control for the game world.
@export var initial_level: PackedScene
@export var pause_scene: PackedScene
@onready var level_root: Node3D = %LevelRoot
@onready var ui_root: Control = %UIRoot
static var instance: World
func _ready() -> void:
World.instance = self
load_level(initial_level)
func _unhandled_input(event: InputEvent) -> void:
if event.is_action_pressed("pause"):
pause()
func pause() -> void:
get_tree().paused = true
var pause_menu: Control = pause_scene.instantiate()
ui_root.add_child(pause_menu)
pause_menu.tree_exited.connect(unpause)
func unpause() -> void:
get_tree().paused = false
func load_level(level: PackedScene) -> void:
for c: Node in level_root.get_children():
c.queue_free()
level_root.add_child(level.instantiate())

1
src/world/world.gd.uid Normal file
View File

@ -0,0 +1 @@
uid://cgqmhtemibxc5

23
src/world/world.tscn Normal file
View File

@ -0,0 +1,23 @@
[gd_scene load_steps=4 format=3 uid="uid://884jqafhtrv0"]
[ext_resource type="Script" uid="uid://cgqmhtemibxc5" path="res://src/world/world.gd" id="1_1k4gi"]
[ext_resource type="PackedScene" uid="uid://byvjsvavbg5xe" path="res://src/ui/menus/pause_menu/pause_menu.tscn" id="2_6fy3g"]
[ext_resource type="PackedScene" uid="uid://bov4ok76woyc" path="res://levels/ghost_ship/ghost_ship.tscn" id="2_jte2u"]
[node name="World" type="Node"]
script = ExtResource("1_1k4gi")
initial_level = ExtResource("2_jte2u")
pause_scene = ExtResource("2_6fy3g")
[node name="LevelRoot" type="Node3D" parent="."]
unique_name_in_owner = true
[node name="UIRoot" type="Control" parent="."]
unique_name_in_owner = true
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2

View File

@ -37,4 +37,9 @@
- `#ff4a1c` Emissive Blood Orange <mark style="font-weight: bold; background: #000; color: #ff4a1c;">SAMPLE</mark> - `#ff4a1c` Emissive Blood Orange <mark style="font-weight: bold; background: #000; color: #ff4a1c;">SAMPLE</mark>
- `#dd1c1a` DANGER Red <mark style="font-weight: bold; background: #000; color: #dd1c1a;">SAMPLE</mark> - `#dd1c1a` DANGER Red <mark style="font-weight: bold; background: #000; color: #dd1c1a;">SAMPLE</mark>
- `#23fb59` SUCCESS Green <mark style="font-weight: bold; background: #000; color: #23fb59;">SAMPLE</mark> - `#23fb59` SUCCESS Green <mark style="font-weight: bold; background: #000; color: #23fb59;">SAMPLE</mark>
- `#39a0ed` HI-TECH Blue <mark style="font-weight: bold; background: #000; color: #39a0ed;">SAMPLE</mark> - `#39a0ed` HI-TECH Blue <mark style="font-weight: bold; background: #000; color: #39a0ed;">SAMPLE</mark>
## UI
- `#dd1c1a` DANGER Red <mark style="font-weight: bold; background: #000; color: #dd1c1a;">SAMPLE</mark>
- `#23fb59` SUCCESS Green <mark style="font-weight: bold; background: #000; color: #23fb59;">SAMPLE</mark>
- `#39a0ed` NOTICE Blue <mark style="font-weight: bold; background: #000; color: #39a0ed;">SAMPLE</mark>