[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"]