Add PhantomCamera components and UI elements for improved scene management; refactor existing components for better integration

This commit is contained in:
2025-08-26 19:48:48 +02:00
parent cea3956fbb
commit 4c15f50f6e
65 changed files with 2654 additions and 61 deletions

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=23 format=4 uid="uid://bol7g83v2accs"]
[gd_scene load_steps=22 format=4 uid="uid://bol7g83v2accs"]
[ext_resource type="PackedScene" uid="uid://bqi5s710xb1ju" path="res://objects/entities/brick_player.tscn" id="1_dnj2y"]
[ext_resource type="PackedScene" uid="uid://cawlpch2lk3a2" path="res://objects/level/world_environment.tscn" id="2_1vw1j"]
@@ -12,7 +12,6 @@
[ext_resource type="TileSet" uid="uid://cu2sx7qigrqnv" path="res://resources/tilesets/village/terain.tres" id="9_ttvjm"]
[ext_resource type="TileSet" uid="uid://bc5a20s6kuy8e" path="res://resources/tilesets/village/entities.tres" id="10_ei558"]
[ext_resource type="TileSet" uid="uid://bbppo0irxdmqy" path="res://resources/tilesets/village/foreground.tres" id="11_w7c5i"]
[ext_resource type="PackedScene" uid="uid://bqom4cm7r18db" path="res://objects/entities/killzone.tscn" id="13_tvdre"]
[ext_resource type="PackedScene" uid="uid://d0s2abysa86rq" path="res://objects/entities/child.tscn" id="15_vqevu"]
[ext_resource type="PackedScene" uid="uid://12jnkdygpxwc" path="res://objects/entities/exit_level.tscn" id="16_chnw1"]
[ext_resource type="PackedScene" uid="uid://b4pdt1gv2ymyi" path="res://objects/tooltip.tscn" id="18_4bhfj"]
@@ -116,10 +115,6 @@ tile_set = ExtResource("10_ei558")
[node name="Foreground layer" type="TileMapLayer" parent="."]
tile_set = ExtResource("11_w7c5i")
[node name="Killzone" parent="." instance=ExtResource("13_tvdre")]
process_mode = 4
position = Vector2(215, 324)
[node name="Child" parent="." instance=ExtResource("15_vqevu")]
position = Vector2(-162, -256)

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=25 format=4 uid="uid://chqb11pfoqmeb"]
[gd_scene load_steps=24 format=4 uid="uid://chqb11pfoqmeb"]
[ext_resource type="PackedScene" uid="uid://bqi5s710xb1ju" path="res://objects/entities/brick_player.tscn" id="1_wcma7"]
[ext_resource type="PackedScene" uid="uid://cawlpch2lk3a2" path="res://objects/level/world_environment.tscn" id="2_ot3dy"]
@@ -12,7 +12,6 @@
[ext_resource type="TileSet" uid="uid://bc5a20s6kuy8e" path="res://resources/tilesets/village/entities.tres" id="10_4r26m"]
[ext_resource type="TileSet" uid="uid://bbppo0irxdmqy" path="res://resources/tilesets/village/foreground.tres" id="11_r0ngp"]
[ext_resource type="TileSet" uid="uid://ccffmjebvuoaj" path="res://resources/tilesets/village/small_foreground.tres" id="13_lc0ll"]
[ext_resource type="PackedScene" uid="uid://bqom4cm7r18db" path="res://objects/entities/killzone.tscn" id="13_sw2hn"]
[ext_resource type="PackedScene" uid="uid://12jnkdygpxwc" path="res://objects/entities/exit_level.tscn" id="15_hcsb6"]
[ext_resource type="PackedScene" uid="uid://d0s2abysa86rq" path="res://objects/entities/child.tscn" id="16_lc0ll"]
[ext_resource type="PackedScene" uid="uid://to2xnqev0pu1" path="res://objects/entities/cage.tscn" id="17_h4uvs"]
@@ -67,6 +66,12 @@ process_material = SubResource("ParticleProcessMaterial_lgb3u")
[node name="UI Layer" parent="." instance=ExtResource("3_cjqhe")]
[node name="HUD" parent="UI Layer" index="0" node_paths=PackedStringArray("Health")]
Health = NodePath("../../Brick Player/HealthComponent")
[node name="Marketplace" parent="UI Layer" index="3" node_paths=PackedStringArray("SkillUnlockedComponent")]
SkillUnlockedComponent = NodePath("../../Brick Player/SkillUnlockerComponent")
[node name="Global Light" parent="." instance=ExtResource("4_wykfl")]
[node name="Camera2D" parent="." instance=ExtResource("5_8nvkd")]
@@ -111,9 +116,6 @@ tile_set = ExtResource("11_r0ngp")
tile_map_data = PackedByteArray("AABw/ykAAAABAAAAAABr/ykAAAAAAAAAAABn/ykAAAACAAAAAABl/ykAAAABAAAAAABj/ykAAAACAAAAAABh/ykAAAABAAAAAABa/ykAAAABAAAAAABY/ykAAAACAAAAAABU/ykAAAADAAAAAABP/ykAAAAAAAAAAACD/ykAAAABAAAAAACO/ykAAAACAAAAAACT/ykAAAABAAAAAACV/ykAAAAAAAAAAACa/ykAAAADAAAAAACq/ykAAAACAAAAAACr/ykAAAAAAAAAAADi/wMAAAAAAAAAAADk/wMAAAACAAAAAADp/wMAAAABAAAAAADs/wMAAAAAAAAAAADt/wMAAAABAAAAAADx/wMAAAADAAAAAADy/wMAAAAAAAAAAADz/wMAAAACAAAAAAD0/wMAAAADAAAAAAD5/wMAAAAAAAAAAAD6/wMAAAAAAAAAAAD7/wMAAAABAAAAAAACAAMAAAABAAAAAAAJAAMAAAABAAAAAAANAAMAAAAAAAAAAAAUAAMAAAABAAAAAAAYAAMAAAADAAAAAAAaAAMAAAADAAAAAAAcAAMAAAACAAAAAAAgAAMAAAAAAAAAAAAiAAMAAAACAAAAAAAmAAMAAAADAAAAAAAoAAMAAAAAAAAAAABGAAMAAAADAAAAAABEAAMAAAACAAAAAABCAAMAAAABAAAAAAA8AAMAAAACAAAAAAA3AAMAAAACAAAAAAA0AAMAAAADAAAAAAAxAAMAAAADAAAAAAAwAAMAAAACAAAAAAAfAAMAAAAAAAAAAAATAAMAAAAAAAAAAAASAAMAAAABAAAAAAAOAAMAAAAAAAAAAABWAAUAAAABAAAAAABZAAUAAAADAAAAAABaAAUAAAABAAAAAABkAAUAAAACAAAAAAB1AAUAAAADAAAAAAB2AAUAAAABAAAAAAB/AAUAAAADAAAAAACsAO//AAAAAAAAAACrAO//AAACAAAAAACnAO//AAACAAAAAACgAO//AAABAAAAAACVAO//AAACAAAAAACUAO//AAADAAAAAACTAO//AAACAAAAAACNAO//AAAAAAAAAACxANX/AAABAAAAAACzANX/AAACAAAAAAC7ANX/AAACAAAAAADBANX/AAACAAAAAADDANX/AAABAAAAAADMANX/AAABAAAAAADQANX/AAABAAAAAADXANX/AAABAAAAAADZANX/AAABAAAAAADdANX/AAAAAAAAAADfANX/AAACAAAAAADnANX/AAABAAAAAADoANX/AAACAAAAAACiAJ//AAACAAAAAACcAJ//AAADAAAAAACbAJ//AAAAAAAAAACYAJ//AAADAAAAAACSAJ//AAADAAAAAACJAJ//AAADAAAAAACGAJ//AAABAAAAAACEAJ//AAACAAAAAACAAJ//AAABAAAAAAB/AJ//AAADAAAAAAB9AJ//AAACAAAAAAA=")
tile_set = ExtResource("13_lc0ll")
[node name="Killzone" parent="." instance=ExtResource("13_sw2hn")]
position = Vector2(170, 582)
[node name="ExitLevel" parent="." instance=ExtResource("15_hcsb6")]
position = Vector2(987, -776)
@@ -155,5 +157,8 @@ position = Vector2(792, -784)
[node name="Lever" parent="." instance=ExtResource("20_h4uvs")]
position = Vector2(-231, -776)
[connection signal="Death" from="Brick Player/HealthComponent" to="UI Layer/DeathScreen" method="OnPlayerDeath"]
[connection signal="Death" from="Brick Player/HealthComponent" to="UI Layer/GameOverScreen" method="OnPlayerDeath"]
[editable path="Brick Player"]
[editable path="UI Layer"]

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=31 format=4 uid="uid://h60obxmju6mo"]
[gd_scene load_steps=30 format=4 uid="uid://h60obxmju6mo"]
[ext_resource type="PackedScene" uid="uid://dyp4i4ru2j2jh" path="res://objects/fxs/explosion_fx.tscn" id="1_p30ax"]
[ext_resource type="PackedScene" uid="uid://dx80ivlvuuew4" path="res://objects/fxs/fire_fx.tscn" id="2_a7yjf"]
@@ -16,7 +16,6 @@
[ext_resource type="Script" uid="uid://ccfft4b8rwgbo" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="14_k7w2w"]
[ext_resource type="PackedScene" uid="uid://d0s2abysa86rq" path="res://objects/entities/child.tscn" id="15_dv6gh"]
[ext_resource type="PackedScene" uid="uid://6foggu31cu14" path="res://objects/level/ui_layer.tscn" id="16_nr2eo"]
[ext_resource type="PackedScene" uid="uid://bqom4cm7r18db" path="res://objects/entities/killzone.tscn" id="17_3xroh"]
[ext_resource type="PackedScene" uid="uid://b4pdt1gv2ymyi" path="res://objects/tooltip.tscn" id="18_l3a7y"]
[ext_resource type="PackedScene" uid="uid://cawlpch2lk3a2" path="res://objects/level/world_environment.tscn" id="20_embdf"]
[ext_resource type="PackedScene" uid="uid://cywsu7yrtjdog" path="res://objects/level/global_light.tscn" id="21_fytod"]
@@ -323,8 +322,11 @@ position = Vector2(880, -578)
[node name="UI Layer" parent="." instance=ExtResource("16_nr2eo")]
[node name="Killzone" parent="." instance=ExtResource("17_3xroh")]
position = Vector2(2600, 802)
[node name="HUD" parent="UI Layer" index="0" node_paths=PackedStringArray("Health")]
Health = NodePath("../../Brick Player/HealthComponent")
[node name="Marketplace" parent="UI Layer" index="3" node_paths=PackedStringArray("SkillUnlockedComponent")]
SkillUnlockedComponent = NodePath("../../Brick Player/SkillUnlockerComponent")
[node name="Tooltip" parent="." instance=ExtResource("18_l3a7y")]
position = Vector2(1016, -104)
@@ -345,6 +347,8 @@ position = Vector2(1244, -41)
[node name="SmallHealPotion3" parent="." instance=ExtResource("23_m6h4x")]
position = Vector2(1359, -42)
[connection signal="Death" from="Brick Player/HealthComponent" to="UI Layer/DeathScreen" method="OnPlayerDeath"]
[connection signal="Death" from="Brick Player/HealthComponent" to="UI Layer/GameOverScreen" method="OnPlayerDeath"]
[editable path="Brick Player"]
[editable path="UI Layer"]
[editable path="Killzone"]

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=35 format=4 uid="uid://bhad760x3vvco"]
[gd_scene load_steps=34 format=4 uid="uid://bhad760x3vvco"]
[ext_resource type="PackedScene" uid="uid://bqi5s710xb1ju" path="res://objects/entities/brick_player.tscn" id="1_k3uyd"]
[ext_resource type="PackedScene" uid="uid://bon6raeddf3tu" path="res://objects/entities/chaser.tscn" id="1_xraal"]
@@ -13,7 +13,6 @@
[ext_resource type="TileSet" uid="uid://cu2sx7qigrqnv" path="res://resources/tilesets/village/terain.tres" id="9_bjo44"]
[ext_resource type="TileSet" uid="uid://bc5a20s6kuy8e" path="res://resources/tilesets/village/entities.tres" id="10_gg8rp"]
[ext_resource type="TileSet" uid="uid://bbppo0irxdmqy" path="res://resources/tilesets/village/foreground.tres" id="11_23awj"]
[ext_resource type="PackedScene" uid="uid://bqom4cm7r18db" path="res://objects/entities/killzone.tscn" id="13_1heob"]
[ext_resource type="PackedScene" uid="uid://lpovacvt3yyj" path="res://objects/entities/spaceship_enter.tscn" id="14_bajwe"]
[ext_resource type="PackedScene" uid="uid://d0s2abysa86rq" path="res://objects/entities/child.tscn" id="15_3iocp"]
[ext_resource type="PackedScene" uid="uid://xp4njljog0x2" path="res://objects/entities/flying_enemy.tscn" id="18_162yw"]
@@ -113,10 +112,19 @@ texture = SubResource("CanvasTexture_o1yb3")
[node name="Chaser" parent="." instance=ExtResource("1_xraal")]
position = Vector2(578.405, 15.8615)
[node name="ChaseLevelComponent" parent="Chaser" index="0" node_paths=PackedStringArray("ChaseTarget")]
ChaseTarget = NodePath("../../Chase Target")
[node name="WorldEnvironment" parent="." instance=ExtResource("2_a7hm7")]
[node name="UI Layer" parent="." instance=ExtResource("3_p8wo6")]
[node name="HUD" parent="UI Layer" index="0" node_paths=PackedStringArray("Health")]
Health = NodePath("../../Brick Player/HealthComponent")
[node name="Marketplace" parent="UI Layer" index="3" node_paths=PackedStringArray("SkillUnlockedComponent")]
SkillUnlockedComponent = NodePath("../../Brick Player/SkillUnlockerComponent")
[node name="Global Light" parent="." instance=ExtResource("4_0lkg8")]
[node name="Lever" parent="." instance=ExtResource("7_1bwe8")]
@@ -130,7 +138,8 @@ limit_top = -10000000
limit_right = 10000000
limit_bottom = 10000000
[node name="PhantomCamera2D" type="Node2D" parent="." node_paths=PackedStringArray("follow_target")]
[node name="PhantomCamera" type="Node2D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true
top_level = true
script = ExtResource("6_i5rlu")
follow_mode = 2
@@ -156,9 +165,6 @@ tile_set = ExtResource("10_gg8rp")
[node name="Foreground layer" type="TileMapLayer" parent="."]
tile_set = ExtResource("11_23awj")
[node name="Killzone" parent="." instance=ExtResource("13_1heob")]
position = Vector2(215, 324)
[node name="Spaceship Enter" parent="." instance=ExtResource("14_bajwe")]
position = Vector2(559, 15)
@@ -256,6 +262,15 @@ position = Vector2(7148, 22)
[node name="CollisionShape2D" parent="Spaceship exit" index="0"]
position = Vector2(16.5, -10)
[connection signal="SpaceshipEntered" from="Spaceship Enter" to="Chaser/ChaseLevelComponent" method="OnShipEntered"]
[connection signal="SpaceshipEntered" from="Spaceship Enter" to="Brick Player" method="OnSpaceshipEntered"]
[connection signal="SpaceshipEntered" from="Spaceship Enter" to="Brick Player/ShipShooter" method="OnShipEntered"]
[connection signal="Death" from="Brick Player/HealthComponent" to="UI Layer/DeathScreen" method="OnPlayerDeath"]
[connection signal="Death" from="Brick Player/HealthComponent" to="UI Layer/GameOverScreen" method="OnPlayerDeath"]
[connection signal="SpaceshipExit" from="Spaceship exit" to="Chaser/ChaseLevelComponent" method="OnShipExited"]
[connection signal="SpaceshipExit" from="Spaceship exit" to="Brick Player" method="OnSpaceshipExited"]
[connection signal="SpaceshipExit" from="Spaceship exit" to="Brick Player/ShipShooter" method="OnShipExited"]
[editable path="Chaser"]
[editable path="UI Layer"]
[editable path="Spaceship Enter"]