Add level progression and UI updates; implement death screen and marketplace features

This commit is contained in:
2025-05-16 16:42:48 +02:00
parent 760ea15be1
commit f39cf573c0
16 changed files with 212 additions and 24 deletions

View File

@@ -6,5 +6,4 @@
[node name="Background Music" type="AudioStreamPlayer" parent="."]
stream = ExtResource("1_fuc3i")
autoplay = true
parameters/looping = true

View File

@@ -0,0 +1,47 @@
[gd_scene load_steps=5 format=3 uid="uid://c40r76qqacqie"]
[ext_resource type="Texture2D" uid="uid://cw42lvnqxubq2" path="res://sprites/PS_Tileset_10_nes.png" id="1_jmsgb"]
[ext_resource type="Script" uid="uid://r0a6xjicrh74" path="res://scripts/components/collapsable.gd" id="2_cs5vh"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_l44jt"]
size = Vector2(16, 16)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_sfbe2"]
size = Vector2(16, 2)
[node name="Collapsing Block" type="StaticBody2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("1_jmsgb")
hframes = 16
vframes = 12
frame = 182
[node name="StaticCollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_l44jt")
[node name="Collapsable detector" type="Area2D" parent="."]
collision_mask = 4
[node name="AreaCollisionShape2D" type="CollisionShape2D" parent="Collapsable detector"]
position = Vector2(0, -8)
shape = SubResource("RectangleShape2D_sfbe2")
[node name="ToCollapseTimer" type="Timer" parent="."]
wait_time = 0.5
[node name="ResetTimer" type="Timer" parent="."]
[node name="CollapsableComponent" type="Node" parent="." node_paths=PackedStringArray("to_collapse_timer", "reset_timer", "sprite2d", "collision_shape")]
script = ExtResource("2_cs5vh")
to_collapse_timer = NodePath("../ToCollapseTimer")
reset_timer = NodePath("../ResetTimer")
sprite2d = NodePath("../Sprite2D")
collision_shape = NodePath("../StaticCollisionShape2D")
collapse_time = 0.75
reset_time = 3.0
[connection signal="body_entered" from="Collapsable detector" to="CollapsableComponent" method="_on_collapsable_detector_body_entered"]
[connection signal="body_exited" from="Collapsable detector" to="CollapsableComponent" method="_on_collapsable_detector_body_exited"]
[connection signal="timeout" from="ToCollapseTimer" to="CollapsableComponent" method="_on_to_collapse_timer_timeout"]
[connection signal="timeout" from="ResetTimer" to="CollapsableComponent" method="_on_reset_timer_timeout"]

View File

@@ -11,7 +11,7 @@ size = Vector2(16, 2)
[node name="Collapsing Bridge" type="StaticBody2D"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
[node name="StaticCollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, -6)
shape = SubResource("RectangleShape2D_l44jt")
one_way_collision = true
@@ -25,7 +25,7 @@ frame = 56
[node name="Collapsable detector" type="Area2D" parent="."]
collision_mask = 4
[node name="CollisionShape2D" type="CollisionShape2D" parent="Collapsable detector"]
[node name="AreaCollisionShape2D" type="CollisionShape2D" parent="Collapsable detector"]
position = Vector2(0, -8)
shape = SubResource("RectangleShape2D_sfbe2")
@@ -39,7 +39,7 @@ script = ExtResource("2_3vvum")
to_collapse_timer = NodePath("../ToCollapseTimer")
reset_timer = NodePath("../ResetTimer")
sprite2d = NodePath("../Sprite2D")
collision_shape = NodePath("../CollisionShape2D")
collision_shape = NodePath("../StaticCollisionShape2D")
collapse_time = 0.75
reset_time = 3.0

View File

@@ -1,11 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://b4eifkc31jsun"]
[gd_scene load_steps=4 format=3 uid="uid://b4eifkc31jsun"]
[ext_resource type="Script" uid="uid://dd30bgqiagi25" path="res://scripts/game_manager.gd" id="1_58t7u"]
[ext_resource type="PackedScene" uid="uid://h60obxmju6mo" path="res://scenes/level_village_1.tscn" id="2_bentb"]
[ext_resource type="PackedScene" uid="uid://chqb11pfoqmeb" path="res://scenes/level_village_2.tscn" id="3_ajlkg"]
[node name="GameManager" type="Node"]
script = ExtResource("1_58t7u")
level_scenes = Array[PackedScene]([ExtResource("2_bentb")])
level_scenes = Array[PackedScene]([ExtResource("2_bentb"), ExtResource("3_ajlkg")])
player_state = {
"coins": 0,
"current_level": 0,

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=13 format=4 uid="uid://fw5fbdy5gcmx"]
[gd_scene load_steps=19 format=4 uid="uid://fw5fbdy5gcmx"]
[ext_resource type="PackedScene" uid="uid://cawlpch2lk3a2" path="res://objects/level/world_environment.tscn" id="1_hb5r3"]
[ext_resource type="PackedScene" uid="uid://bqi5s710xb1ju" path="res://objects/entities/brick_player.tscn" id="1_lbnsn"]
@@ -11,6 +11,37 @@
[ext_resource type="TileSet" uid="uid://cu2sx7qigrqnv" path="res://resources/tilesets/village/terain.tres" id="9_etwin"]
[ext_resource type="TileSet" uid="uid://bc5a20s6kuy8e" path="res://resources/tilesets/village/entities.tres" id="10_8xrv5"]
[ext_resource type="TileSet" uid="uid://bbppo0irxdmqy" path="res://resources/tilesets/village/foreground.tres" id="11_0vx27"]
[ext_resource type="Script" uid="uid://8r1y8elyw7kt" path="res://scripts/console_management.gd" id="12_8xrv5"]
[sub_resource type="Gradient" id="Gradient_qb72p"]
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_f1fvy"]
gradient = SubResource("Gradient_qb72p")
[sub_resource type="Curve" id="Curve_82d6e"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_7b7mt"]
curve = SubResource("Curve_82d6e")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_lgb3u"]
resource_local_to_scene = true
lifetime_randomness = 1.0
particle_flag_disable_z = true
emission_shape = 1
emission_sphere_radius = 8.0
direction = Vector3(0.1, -0.5, 0)
initial_velocity_min = 200.0
initial_velocity_max = 400.0
gravity = Vector3(0, 80, 0)
damping_min = 400.0
damping_max = 800.0
scale_max = 3.0
scale_curve = SubResource("CurveTexture_7b7mt")
color = Color(0.764706, 0.443137, 0, 1)
color_ramp = SubResource("GradientTexture1D_f1fvy")
[sub_resource type="Resource" id="Resource_0nwt7"]
script = ExtResource("7_kl81p")
@@ -22,6 +53,9 @@ ease = 2
[node name="Brick Player" parent="." instance=ExtResource("1_lbnsn")]
[node name="HitParticles" parent="Brick Player" index="26"]
process_material = SubResource("ParticleProcessMaterial_lgb3u")
[node name="WorldEnvironment" parent="." instance=ExtResource("1_hb5r3")]
[node name="UI Layer" parent="." instance=ExtResource("2_lbnsn")]
@@ -58,3 +92,12 @@ tile_set = ExtResource("10_8xrv5")
[node name="Foreground layer" type="TileMapLayer" parent="."]
tile_set = ExtResource("11_0vx27")
[node name="ConsoleManagement" type="Node" parent="." node_paths=PackedStringArray("player_health", "skill_unlocker", "skill_manager")]
script = ExtResource("12_8xrv5")
player_health = NodePath("../Brick Player/HealthComponent")
skill_unlocker = NodePath("../Brick Player/SkillUnlockerComponent")
skill_manager = NodePath("../Brick Player/SkillManager")
metadata/_custom_type_script = "uid://8r1y8elyw7kt"
[editable path="Brick Player"]

View File

@@ -36,5 +36,6 @@ motion_scale = Vector2(0.3, 0.3)
motion_mirroring = Vector2(480, 0)
[node name="Sprite2D" type="Sprite2D" parent="Ground"]
scale = Vector2(1, 1.14074)
texture = ExtResource("4_jkhju")
centered = false