|
@@ -0,0 +1,185 @@
|
|
|
+[gd_scene load_steps=15 format=3 uid="uid://2y3ar4s86yra"]
|
|
|
+
|
|
|
+[ext_resource type="Script" path="res://Main.gd" id="1"]
|
|
|
+[ext_resource type="PackedScene" uid="uid://dp478jyugrn7o" path="res://Player.tscn" id="2"]
|
|
|
+[ext_resource type="PackedScene" uid="uid://ha0ar5s2c3m4" path="res://Mob.tscn" id="3"]
|
|
|
+[ext_resource type="Theme" uid="uid://cqquurjk1i7yw" path="res://ui_theme.tres" id="4_gnyca"]
|
|
|
+[ext_resource type="Script" path="res://ScoreLabel.gd" id="6"]
|
|
|
+
|
|
|
+[sub_resource type="BoxShape3D" id="1"]
|
|
|
+size = Vector3(60, 2, 60)
|
|
|
+
|
|
|
+[sub_resource type="BoxMesh" id="2"]
|
|
|
+size = Vector3(60, 2, 60)
|
|
|
+
|
|
|
+[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_i5n5q"]
|
|
|
+
|
|
|
+[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_m3njk"]
|
|
|
+sky_horizon_color = Color(0.64625, 0.65575, 0.67075, 1)
|
|
|
+ground_horizon_color = Color(0.64625, 0.65575, 0.67075, 1)
|
|
|
+
|
|
|
+[sub_resource type="Sky" id="Sky_yutuu"]
|
|
|
+sky_material = SubResource("ProceduralSkyMaterial_m3njk")
|
|
|
+
|
|
|
+[sub_resource type="Environment" id="Environment_0tcge"]
|
|
|
+background_mode = 2
|
|
|
+sky = SubResource("Sky_yutuu")
|
|
|
+tonemap_mode = 2
|
|
|
+
|
|
|
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_cr5ed"]
|
|
|
+albedo_color = Color(0.635294, 0.211765, 0.0235294, 1)
|
|
|
+
|
|
|
+[sub_resource type="CylinderMesh" id="3"]
|
|
|
+material = SubResource("StandardMaterial3D_cr5ed")
|
|
|
+radial_segments = 24
|
|
|
+rings = 1
|
|
|
+
|
|
|
+[sub_resource type="Curve3D" id="5"]
|
|
|
+_data = {
|
|
|
+"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 14, 0, -15, 0, 0, 0, 0, 0, 0, -13, 0, -15, 0, 0, 0, 0, 0, 0, -13, 0, 16, 0, 0, 0, 0, 0, 0, 14, 0, 16, 0, 0, 0, 0, 0, 0, 14, 0, -15),
|
|
|
+"tilts": PackedFloat32Array(0, 0, 0, 0, 0)
|
|
|
+}
|
|
|
+point_count = 5
|
|
|
+
|
|
|
+[node name="Main" type="Node"]
|
|
|
+script = ExtResource("1")
|
|
|
+mob_scene = ExtResource("3")
|
|
|
+
|
|
|
+[node name="Ground" type="StaticBody3D" parent="."]
|
|
|
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
|
|
|
+collision_layer = 4
|
|
|
+collision_mask = 0
|
|
|
+
|
|
|
+[node name="CollisionShape" type="CollisionShape3D" parent="Ground"]
|
|
|
+shape = SubResource("1")
|
|
|
+
|
|
|
+[node name="MeshInstance" type="MeshInstance3D" parent="Ground"]
|
|
|
+mesh = SubResource("2")
|
|
|
+
|
|
|
+[node name="Walls" type="StaticBody3D" parent="."]
|
|
|
+editor_description = "These invisible walls are used to prevent the player from escaping the playable area.
|
|
|
+
|
|
|
+These walls use WorldBoundaryShape3D collision shapes, which are infinitely large planes
|
|
|
+(even though they look finite in the editor)."
|
|
|
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 5)
|
|
|
+collision_layer = 4
|
|
|
+collision_mask = 0
|
|
|
+
|
|
|
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls"]
|
|
|
+transform = Transform3D(1, 0, 0, 0, 1.31134e-07, 1, 0, -1, 1.31134e-07, 0, 10, 11)
|
|
|
+shape = SubResource("WorldBoundaryShape3D_i5n5q")
|
|
|
+
|
|
|
+[node name="CollisionShape3D2" type="CollisionShape3D" parent="Walls"]
|
|
|
+transform = Transform3D(-4.37114e-08, 1, -1.31134e-07, 0, 1.31134e-07, 1, 1, 4.37114e-08, -5.73206e-15, -13, 10, -4.76837e-07)
|
|
|
+shape = SubResource("WorldBoundaryShape3D_i5n5q")
|
|
|
+
|
|
|
+[node name="CollisionShape3D3" type="CollisionShape3D" parent="Walls"]
|
|
|
+transform = Transform3D(4.37114e-08, -1, 2.18557e-07, 3.82137e-15, -2.18557e-07, -1, 1, 4.37114e-08, -5.73206e-15, 14, 10, -4.76837e-07)
|
|
|
+shape = SubResource("WorldBoundaryShape3D_i5n5q")
|
|
|
+
|
|
|
+[node name="CollisionShape3D4" type="CollisionShape3D" parent="Walls"]
|
|
|
+transform = Transform3D(1, 5.96046e-08, -1.42109e-14, 3.82137e-15, -2.18557e-07, -1, -5.96046e-08, 1, -2.18557e-07, 9.53674e-07, 10, -20)
|
|
|
+shape = SubResource("WorldBoundaryShape3D_i5n5q")
|
|
|
+
|
|
|
+[node name="DirectionalLight" type="DirectionalLight3D" parent="."]
|
|
|
+transform = Transform3D(0.5, -0.777049, 0.382355, 0, 0.441506, 0.897258, -0.866025, -0.448629, 0.220753, 0, 12.5592, 14.7757)
|
|
|
+shadow_enabled = true
|
|
|
+shadow_bias = 0.04
|
|
|
+shadow_blur = 1.5
|
|
|
+directional_shadow_mode = 0
|
|
|
+directional_shadow_fade_start = 1.0
|
|
|
+directional_shadow_max_distance = 40.0
|
|
|
+
|
|
|
+[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
|
|
+environment = SubResource("Environment_0tcge")
|
|
|
+
|
|
|
+[node name="Player" parent="." instance=ExtResource("2")]
|
|
|
+
|
|
|
+[node name="CameraPivot" type="Marker3D" parent="."]
|
|
|
+transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0.183514, 0, 0)
|
|
|
+
|
|
|
+[node name="Camera" type="Camera3D" parent="CameraPivot"]
|
|
|
+transform = Transform3D(1, 0, 0, 0, 1, -2.98023e-08, 0, 2.98023e-08, 1, 0, 9.53674e-07, 19)
|
|
|
+projection = 1
|
|
|
+fov = 48.6
|
|
|
+size = 24.0
|
|
|
+far = 40.0
|
|
|
+
|
|
|
+[node name="Cylinders" type="Node3D" parent="."]
|
|
|
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 0)
|
|
|
+
|
|
|
+[node name="MeshInstance" type="MeshInstance3D" parent="Cylinders"]
|
|
|
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 1, -15)
|
|
|
+mesh = SubResource("3")
|
|
|
+
|
|
|
+[node name="MeshInstance3" type="MeshInstance3D" parent="Cylinders"]
|
|
|
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21, 1, -15)
|
|
|
+mesh = SubResource("3")
|
|
|
+
|
|
|
+[node name="MeshInstance2" type="MeshInstance3D" parent="Cylinders"]
|
|
|
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21, 1, 16)
|
|
|
+mesh = SubResource("3")
|
|
|
+
|
|
|
+[node name="MeshInstance4" type="MeshInstance3D" parent="Cylinders"]
|
|
|
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 1, 16)
|
|
|
+mesh = SubResource("3")
|
|
|
+
|
|
|
+[node name="SpawnPath" type="Path3D" parent="."]
|
|
|
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
|
|
+curve = SubResource("5")
|
|
|
+
|
|
|
+[node name="SpawnLocation" type="PathFollow3D" parent="SpawnPath"]
|
|
|
+transform = Transform3D(-4.37113e-08, 0, -0.999999, 0, 1, 0, 0.999999, 0, -4.37113e-08, 14, 0, -15)
|
|
|
+rotation_mode = 1
|
|
|
+cubic_interp = false
|
|
|
+loop = false
|
|
|
+
|
|
|
+[node name="MobTimer" type="Timer" parent="."]
|
|
|
+wait_time = 0.5
|
|
|
+autostart = true
|
|
|
+
|
|
|
+[node name="UserInterface" type="Control" parent="."]
|
|
|
+layout_mode = 3
|
|
|
+anchors_preset = 15
|
|
|
+anchor_right = 1.0
|
|
|
+anchor_bottom = 1.0
|
|
|
+grow_horizontal = 2
|
|
|
+grow_vertical = 2
|
|
|
+theme = ExtResource("4_gnyca")
|
|
|
+
|
|
|
+[node name="ScoreLabel" type="Label" parent="UserInterface"]
|
|
|
+layout_mode = 0
|
|
|
+offset_left = 16.0
|
|
|
+offset_top = 16.0
|
|
|
+offset_right = 77.0
|
|
|
+offset_bottom = 42.0
|
|
|
+theme_override_colors/font_color = Color(0, 0, 0, 1)
|
|
|
+theme_override_font_sizes/font_size = 32
|
|
|
+text = "Score: 0"
|
|
|
+script = ExtResource("6")
|
|
|
+
|
|
|
+[node name="Retry" type="ColorRect" parent="UserInterface"]
|
|
|
+visible = false
|
|
|
+layout_mode = 0
|
|
|
+anchor_right = 1.0
|
|
|
+anchor_bottom = 1.0
|
|
|
+color = Color(0, 0, 0, 0.447059)
|
|
|
+
|
|
|
+[node name="Label" type="Label" parent="UserInterface/Retry"]
|
|
|
+layout_mode = 1
|
|
|
+anchors_preset = 8
|
|
|
+anchor_left = 0.5
|
|
|
+anchor_top = 0.5
|
|
|
+anchor_right = 0.5
|
|
|
+anchor_bottom = 0.5
|
|
|
+offset_left = -75.0
|
|
|
+offset_top = -13.0
|
|
|
+offset_right = 75.0
|
|
|
+offset_bottom = 13.0
|
|
|
+grow_horizontal = 2
|
|
|
+grow_vertical = 2
|
|
|
+theme_override_font_sizes/font_size = 32
|
|
|
+text = "Press Space or Enter to retry"
|
|
|
+
|
|
|
+[connection signal="hit" from="Player" to="." method="_on_player_hit"]
|
|
|
+[connection signal="timeout" from="MobTimer" to="." method="_on_mob_timer_timeout"]
|