Refactor UI components to inherit from Control and update node paths for consistency

This commit is contained in:
2025-08-26 16:20:01 +02:00
parent 1d4948e5b4
commit ca0d21e40a
84 changed files with 767 additions and 884 deletions

View File

@@ -15,6 +15,7 @@ public partial class GameManager : Node
private List<Node> _sceneNodes = new(); private List<Node> _sceneNodes = new();
[Export]
public Dictionary PlayerState { get; set; } = new() public Dictionary PlayerState { get; set; } = new()
{ {
{ "coins", 0 }, { "coins", 0 },
@@ -25,6 +26,7 @@ public partial class GameManager : Node
{ "unlocked_skills", new Array<SkillData>() } { "unlocked_skills", new Array<SkillData>() }
}; };
[Export]
public Dictionary CurrentSessionState { get; private set; } = new() public Dictionary CurrentSessionState { get; private set; } = new()
{ {
{ "coins_collected", 0 }, { "coins_collected", 0 },

View File

@@ -1,6 +1,7 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> <wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACanvasItem_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Fef7b819b226fab796d1dfe66d415dd7510bcac87675020ddb8f03a828e763_003FCanvasItem_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACanvasItem_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Fef7b819b226fab796d1dfe66d415dd7510bcac87675020ddb8f03a828e763_003FCanvasItem_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACollisionShape2D_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003F2ca9b7334678f5c97c7c2a9fbe4837be71cae11b6a30408dd4791b18f997e4a_003FCollisionShape2D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACollisionShape2D_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003F2ca9b7334678f5c97c7c2a9fbe4837be71cae11b6a30408dd4791b18f997e4a_003FCollisionShape2D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AMr_002EBrickAdventures_002Escripts_002Ecomponents_002ECollectableComponent_005FScriptSignals_002Egenerated_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E2_003Fresharper_002Dhost_003FSourcesCache_003F80d9408eb7280c15eb4a12b61cdf8f7f1b0c5a2_003FMr_002EBrickAdventures_002Escripts_002Ecomponents_002ECollectableComponent_005FScriptSignals_002Egenerated_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ANode2D_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003F86db9cd834346aad02d74c1b66dd9c64d6ef3147435dd9c9c9477b48f7_003FNode2D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ANode2D_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003F86db9cd834346aad02d74c1b66dd9c64d6ef3147435dd9c9c9477b48f7_003FNode2D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ARectangleShape2D_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Fa1cc98873548652da0c14ecefa4737431426fcbb24a7f0641e3d9c266c3_003FRectangleShape2D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ARectangleShape2D_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Fa1cc98873548652da0c14ecefa4737431426fcbb24a7f0641e3d9c266c3_003FRectangleShape2D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AShape2D_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003F3671dbbd9b17cdf2bf9075b468b6bd7e3ab13fc3be7a116484085d3b6cc9fe_003FShape2D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String></wpf:ResourceDictionary> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AShape2D_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003F3671dbbd9b17cdf2bf9075b468b6bd7e3ab13fc3be7a116484085d3b6cc9fe_003FShape2D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String></wpf:ResourceDictionary>

View File

@@ -1,5 +0,0 @@
[gd_scene format=3 uid="uid://qq5g75cinhap"]
[node name="Camera Manager" type="Node"]
[node name="Camera Nodes" type="StaticBody2D" parent="."]

View File

@@ -9,7 +9,7 @@
[sub_resource type="CircleShape2D" id="CircleShape2D_3ask2"] [sub_resource type="CircleShape2D" id="CircleShape2D_3ask2"]
radius = 9.0 radius = 9.0
[node name="Big Coin" type="Area2D"] [node name="Big Coin" type="Area2D" groups=["coins"]]
scale = Vector2(2, 2) scale = Vector2(2, 2)
collision_layer = 2 collision_layer = 2
collision_mask = 4 collision_mask = 4
@@ -23,7 +23,7 @@ hframes = 12
vframes = 12 vframes = 12
frame = 51 frame = 51
[node name="CollectableComponent" type="Node" parent="." node_paths=PackedStringArray("Area2D", "CollisionShape", "Sfx") groups=["coins"]] [node name="CollectableComponent" type="Node" parent="." node_paths=PackedStringArray("Area2D", "CollisionShape", "Sfx")]
script = ExtResource("2_htmrw") script = ExtResource("2_htmrw")
Area2D = NodePath("..") Area2D = NodePath("..")
CollisionShape = NodePath("../CollisionShape2D") CollisionShape = NodePath("../CollisionShape2D")

View File

@@ -9,7 +9,7 @@
[sub_resource type="CircleShape2D" id="CircleShape2D_3ask2"] [sub_resource type="CircleShape2D" id="CircleShape2D_3ask2"]
radius = 9.0 radius = 9.0
[node name="Big Treasure" type="Area2D"] [node name="Big Treasure" type="Area2D" groups=["coins"]]
collision_layer = 2 collision_layer = 2
collision_mask = 4 collision_mask = 4
@@ -22,7 +22,7 @@ hframes = 12
vframes = 12 vframes = 12
frame = 64 frame = 64
[node name="CollectableComponent" type="Node" parent="." node_paths=PackedStringArray("Area2D", "CollisionShape", "Sfx") groups=["coins"]] [node name="CollectableComponent" type="Node" parent="." node_paths=PackedStringArray("Area2D", "CollisionShape", "Sfx")]
script = ExtResource("2_lthbn") script = ExtResource("2_lthbn")
Area2D = NodePath("..") Area2D = NodePath("..")
CollisionShape = NodePath("../CollisionShape2D") CollisionShape = NodePath("../CollisionShape2D")

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=11 format=3 uid="uid://bymro4t7angv5"] [gd_scene load_steps=10 format=3 uid="uid://bymro4t7angv5"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_1c3jb"] [ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_1c3jb"]
[ext_resource type="Script" uid="uid://cfw8nbrarex0i" path="res://scripts/components/BulletComponent.cs" id="2_r41xl"] [ext_resource type="Script" uid="uid://cfw8nbrarex0i" path="res://scripts/components/BulletComponent.cs" id="2_r41xl"]
@@ -8,7 +8,6 @@
[ext_resource type="Script" uid="uid://cbexrnnj47f87" path="res://scripts/components/LaunchComponent.cs" id="6_t4c40"] [ext_resource type="Script" uid="uid://cbexrnnj47f87" path="res://scripts/components/LaunchComponent.cs" id="6_t4c40"]
[ext_resource type="Script" uid="uid://c7p06t0eax8am" path="res://scripts/components/StraightMotionComponent.cs" id="7_y10b5"] [ext_resource type="Script" uid="uid://c7p06t0eax8am" path="res://scripts/components/StraightMotionComponent.cs" id="7_y10b5"]
[ext_resource type="PackedScene" uid="uid://c1iorglk708g0" path="res://objects/fxs/terrain_hit_fx.tscn" id="8_d0tcd"] [ext_resource type="PackedScene" uid="uid://c1iorglk708g0" path="res://objects/fxs/terrain_hit_fx.tscn" id="8_d0tcd"]
[ext_resource type="Script" uid="uid://cypxrqoeiihbf" path="res://scripts/components/TerrainHitFx.cs" id="9_y1xkr"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ar0xf"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_ar0xf"]
size = Vector2(16, 10) size = Vector2(16, 10)
@@ -62,4 +61,3 @@ LaunchComponent = NodePath("../LaunchComponent")
metadata/_custom_type_script = "uid://cvcnfrr1udco5" metadata/_custom_type_script = "uid://cvcnfrr1udco5"
[node name="TerrainHitFX" parent="." instance=ExtResource("8_d0tcd")] [node name="TerrainHitFX" parent="." instance=ExtResource("8_d0tcd")]
script = ExtResource("9_y1xkr")

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=49 format=3 uid="uid://bqi5s710xb1ju"] [gd_scene load_steps=42 format=3 uid="uid://bqi5s710xb1ju"]
[ext_resource type="Script" uid="uid://csel4s0e4g5uf" path="res://scripts/components/PlayerController.cs" id="1_yysbb"] [ext_resource type="Script" uid="uid://csel4s0e4g5uf" path="res://scripts/components/PlayerController.cs" id="1_yysbb"]
[ext_resource type="Shader" uid="uid://bs4xvm4qkurpr" path="res://shaders/hit_flash.tres" id="2_lgb3u"] [ext_resource type="Shader" uid="uid://bs4xvm4qkurpr" path="res://shaders/hit_flash.tres" id="2_lgb3u"]
@@ -15,27 +15,20 @@
[ext_resource type="Script" uid="uid://byw1legrv1ep2" path="res://scripts/components/PlayerDeathComponent.cs" id="13_7til7"] [ext_resource type="Script" uid="uid://byw1legrv1ep2" path="res://scripts/components/PlayerDeathComponent.cs" id="13_7til7"]
[ext_resource type="Script" uid="uid://cgfynrn68lp12" path="res://scripts/components/KnockbackComponent.cs" id="14_e5pae"] [ext_resource type="Script" uid="uid://cgfynrn68lp12" path="res://scripts/components/KnockbackComponent.cs" id="14_e5pae"]
[ext_resource type="Script" uid="uid://cecelixl41t3j" path="res://scripts/components/InvulnerabilityComponent.cs" id="15_xuhvf"] [ext_resource type="Script" uid="uid://cecelixl41t3j" path="res://scripts/components/InvulnerabilityComponent.cs" id="15_xuhvf"]
[ext_resource type="Resource" uid="uid://dw5ee2lpeypnb" path="res://resources/skills/brick_throw.tres" id="16_smbir"]
[ext_resource type="Script" uid="uid://dvyd26ricriql" path="res://scripts/components/FlashingComponent.cs" id="16_uno3u"] [ext_resource type="Script" uid="uid://dvyd26ricriql" path="res://scripts/components/FlashingComponent.cs" id="16_uno3u"]
[ext_resource type="Resource" uid="uid://2glvryih82t1" path="res://resources/skills/fire_brick.tres" id="17_6y5qu"]
[ext_resource type="Script" uid="uid://dtg6115je7b5s" path="res://scripts/components/StompDamageComponent.cs" id="17_bl1gx"] [ext_resource type="Script" uid="uid://dtg6115je7b5s" path="res://scripts/components/StompDamageComponent.cs" id="17_bl1gx"]
[ext_resource type="Script" uid="uid://di572axt0c3s8" path="res://scripts/SkillManager.cs" id="18_6lsog"]
[ext_resource type="AudioStream" uid="uid://duj2q0rqytaxg" path="res://sfx/jump.wav" id="18_pysae"] [ext_resource type="AudioStream" uid="uid://duj2q0rqytaxg" path="res://sfx/jump.wav" id="18_pysae"]
[ext_resource type="Resource" uid="uid://cx5fsbexblp60" path="res://resources/skills/ice_brick.tres" id="18_umfbf"]
[ext_resource type="Resource" uid="uid://cdp8sex36vdq2" path="res://resources/skills/explosive_brick.tres" id="19_5wjb7"]
[ext_resource type="AudioStream" uid="uid://bmfn6p88gy575" path="res://sfx/player_hurt.wav" id="19_7anly"] [ext_resource type="AudioStream" uid="uid://bmfn6p88gy575" path="res://sfx/player_hurt.wav" id="19_7anly"]
[ext_resource type="Script" uid="uid://dlh5xcv2sy82s" path="res://scripts/components/SkillUnlockedComponent.cs" id="19_gwc8i"]
[ext_resource type="AudioStream" uid="uid://ycgtf6wj7mto" path="res://sfx/heal.wav" id="20_bptj5"] [ext_resource type="AudioStream" uid="uid://ycgtf6wj7mto" path="res://sfx/heal.wav" id="20_bptj5"]
[ext_resource type="Script" uid="uid://cjqe428jwip6b" path="res://scripts/skill_manager.gd" id="20_ppfy7"]
[ext_resource type="Script" uid="uid://bya240e627ti6" path="res://scripts/resources/skill_data.gd" id="21_d0oiv"]
[ext_resource type="Resource" uid="uid://d3bjre2etov1n" path="res://resources/skills/magnetic.tres" id="22_vnsgd"]
[ext_resource type="Script" uid="uid://bjsyeo1n7bsri" path="res://scripts/components/skill_unlocker_component.gd" id="23_qsv2c"]
[ext_resource type="Script" uid="uid://bo506l4x0808e" path="res://scripts/components/HitComponent.cs" id="26_6n1ss"] [ext_resource type="Script" uid="uid://bo506l4x0808e" path="res://scripts/components/HitComponent.cs" id="26_6n1ss"]
[ext_resource type="Script" uid="uid://cjcc7fia15wu3" path="res://scripts/components/CanBeLaunchedComponent.cs" id="27_oefns"] [ext_resource type="Script" uid="uid://cjcc7fia15wu3" path="res://scripts/components/CanBeLaunchedComponent.cs" id="27_oefns"]
[ext_resource type="PackedScene" uid="uid://bg76mtpcmfm2j" path="res://objects/ui/charging_bar_layer.tscn" id="28_3f5nm"] [ext_resource type="PackedScene" uid="uid://bg76mtpcmfm2j" path="res://objects/ui/charging_bar_layer.tscn" id="28_3f5nm"]
[ext_resource type="Script" uid="uid://cqau0810tjk4d" path="res://scripts/components/TriggerLeverComponent.cs" id="28_bnap0"] [ext_resource type="Script" uid="uid://cqau0810tjk4d" path="res://scripts/components/TriggerLeverComponent.cs" id="28_bnap0"]
[ext_resource type="PackedScene" uid="uid://b12tppjkkqpt4" path="res://objects/fxs/hit_particles.tscn" id="28_jh5m0"] [ext_resource type="PackedScene" uid="uid://b12tppjkkqpt4" path="res://objects/fxs/hit_particles.tscn" id="28_jh5m0"]
[ext_resource type="Script" uid="uid://dr3uv0j7n75s" path="res://scripts/components/ShipShooterComponent.cs" id="30_usc1p"]
[ext_resource type="AudioStream" uid="uid://dyev46uqusimi" path="res://sfx/shoot.wav" id="32_x2b7c"] [ext_resource type="AudioStream" uid="uid://dyev46uqusimi" path="res://sfx/shoot.wav" id="32_x2b7c"]
[ext_resource type="Script" uid="uid://d1ctdx52gskv1" path="res://scripts/components/ship_shooter.gd" id="34_gwc8i"]
[ext_resource type="Script" uid="uid://dev2q1228otm2" path="res://scripts/UI/ChargeProgressBar.cs" id="34_o1ihh"]
[ext_resource type="PackedScene" uid="uid://dtem8jgcyoqar" path="res://objects/entities/green_laser.tscn" id="36_oxudy"] [ext_resource type="PackedScene" uid="uid://dtem8jgcyoqar" path="res://objects/entities/green_laser.tscn" id="36_oxudy"]
[ext_resource type="Script" uid="uid://diw6opv6yutgi" path="res://scripts/components/KillPlayerOutOfScreenComponent.cs" id="37_qec3q"] [ext_resource type="Script" uid="uid://diw6opv6yutgi" path="res://scripts/components/KillPlayerOutOfScreenComponent.cs" id="37_qec3q"]
[ext_resource type="Script" uid="uid://3qy7rm28q66a" path="res://scripts/components/ProgressiveDamageComponent.cs" id="38_dhjci"] [ext_resource type="Script" uid="uid://3qy7rm28q66a" path="res://scripts/components/ProgressiveDamageComponent.cs" id="38_dhjci"]
@@ -206,12 +199,10 @@ Area = NodePath("../StompDamageArea")
Root = NodePath("..") Root = NodePath("..")
[node name="SkillManager" type="Node" parent="."] [node name="SkillManager" type="Node" parent="."]
script = ExtResource("20_ppfy7") script = ExtResource("18_6lsog")
available_skills = Array[ExtResource("21_d0oiv")]([ExtResource("22_vnsgd"), ExtResource("17_6y5qu"), ExtResource("16_smbir"), ExtResource("18_umfbf"), ExtResource("19_5wjb7")])
[node name="SkillUnlockerComponent" type="Node" parent="." node_paths=PackedStringArray("skill_manager")] [node name="SkillUnlockerComponent" type="Node" parent="."]
script = ExtResource("23_qsv2c") script = ExtResource("19_gwc8i")
skill_manager = NodePath("../SkillManager")
[node name="HitComponent" type="Node" parent="." node_paths=PackedStringArray("Sprite", "Health", "HitFx")] [node name="HitComponent" type="Node" parent="." node_paths=PackedStringArray("Sprite", "Health", "HitFx")]
script = ExtResource("26_6n1ss") script = ExtResource("26_6n1ss")
@@ -250,22 +241,20 @@ bus = &"sfx"
stream = ExtResource("32_x2b7c") stream = ExtResource("32_x2b7c")
bus = &"sfx" bus = &"sfx"
[node name="ChargingBarLayer" parent="." node_paths=PackedStringArray("ProgressBar") instance=ExtResource("28_3f5nm")] [node name="ChargingBarLayer" parent="." instance=ExtResource("28_3f5nm")]
offset_left = -17.0 offset_left = -17.0
offset_top = -30.0 offset_top = -30.0
offset_right = 23.0 offset_right = 23.0
offset_bottom = -20.0 offset_bottom = -20.0
script = ExtResource("34_o1ihh")
ProgressBar = NodePath(".")
[node name="HitParticles" parent="." instance=ExtResource("28_jh5m0")] [node name="HitParticles" parent="." instance=ExtResource("28_jh5m0")]
process_material = SubResource("ParticleProcessMaterial_lgb3u") process_material = SubResource("ParticleProcessMaterial_lgb3u")
[node name="ShipShooter" type="Node" parent="." node_paths=PackedStringArray("bullet_spawn", "shoot_sfx")] [node name="ShipShooter" type="Node" parent="." node_paths=PackedStringArray("BulletSpawn", "ShootSfx")]
script = ExtResource("34_gwc8i") script = ExtResource("30_usc1p")
bullet_scene = ExtResource("36_oxudy") BulletScene = ExtResource("36_oxudy")
bullet_spawn = NodePath("../Ship shoot spawn") BulletSpawn = NodePath("../Ship shoot spawn")
shoot_sfx = NodePath("../sfx_shoot") ShootSfx = NodePath("../sfx_shoot")
metadata/_custom_type_script = "uid://d1ctdx52gskv1" metadata/_custom_type_script = "uid://d1ctdx52gskv1"
[node name="Ship shoot spawn" type="Marker2D" parent="."] [node name="Ship shoot spawn" type="Marker2D" parent="."]

View File

@@ -1,12 +1,12 @@
[gd_scene load_steps=10 format=3 uid="uid://bhc7y4xugu4q7"] [gd_scene load_steps=10 format=3 uid="uid://bhc7y4xugu4q7"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_w543f"] [ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_w543f"]
[ext_resource type="Script" uid="uid://dkmxhjtmu5xlb" path="res://scripts/components/damage_component.gd" id="2_ll0xw"] [ext_resource type="Script" uid="uid://2i7p7v135u7c" path="res://scripts/components/DamageComponent.cs" id="2_6th6w"]
[ext_resource type="Script" uid="uid://cdnwrn8v05qhi" path="res://scripts/components/bullet_component.gd" id="3_keogl"] [ext_resource type="Script" uid="uid://cs6u3sh68f43j" path="res://scripts/components/OutOfScreenComponent.cs" id="3_e0mqp"]
[ext_resource type="Script" uid="uid://1tnr46o1ib4u" path="res://scripts/components/out_of_screen_component.gd" id="4_lqg4f"] [ext_resource type="Script" uid="uid://oyf25mpc5etr" path="res://scripts/components/LifetimeComponent.cs" id="4_r4wv6"]
[ext_resource type="Script" uid="uid://bvsgg8lu0a8m6" path="res://scripts/components/lifetime_component.gd" id="5_qsc5m"] [ext_resource type="Script" uid="uid://cbexrnnj47f87" path="res://scripts/components/LaunchComponent.cs" id="5_7bijt"]
[ext_resource type="Script" uid="uid://873un8agkyja" path="res://scripts/components/launch_component.gd" id="6_6th6w"] [ext_resource type="Script" uid="uid://c7p06t0eax8am" path="res://scripts/components/StraightMotionComponent.cs" id="6_lycw2"]
[ext_resource type="Script" uid="uid://cvcnfrr1udco5" path="res://scripts/components/straight_motion_component.gd" id="7_e0mqp"] [ext_resource type="Script" uid="uid://cfw8nbrarex0i" path="res://scripts/components/BulletComponent.cs" id="7_2aweg"]
[ext_resource type="PackedScene" uid="uid://c1iorglk708g0" path="res://objects/fxs/terrain_hit_fx.tscn" id="8_6th6w"] [ext_resource type="PackedScene" uid="uid://c1iorglk708g0" path="res://objects/fxs/terrain_hit_fx.tscn" id="8_6th6w"]
[sub_resource type="CircleShape2D" id="CircleShape2D_txsw8"] [sub_resource type="CircleShape2D" id="CircleShape2D_txsw8"]
@@ -30,42 +30,37 @@ frame = 79
position = Vector2(2.38419e-07, 2.38419e-07) position = Vector2(2.38419e-07, 2.38419e-07)
scale = Vector2(0.4, 0.4) scale = Vector2(0.4, 0.4)
[node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")] [node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("Area", "DamageTimer")]
script = ExtResource("2_ll0xw") script = ExtResource("2_6th6w")
area2d = NodePath("..") Area = NodePath("..")
DamageTimer = NodePath("../Timer")
[node name="Timer" type="Timer" parent="."] [node name="Timer" type="Timer" parent="."]
wait_time = 5.0 wait_time = 5.0
autostart = true autostart = true
[node name="OutOfScreenComponent" type="Node" parent="." node_paths=PackedStringArray("visibility_notifier", "root")] [node name="OutOfScreenComponent" type="Node" parent="." node_paths=PackedStringArray("VisibilityNotifier")]
script = ExtResource("4_lqg4f") script = ExtResource("3_e0mqp")
visibility_notifier = NodePath("../VisibleOnScreenNotifier2D") VisibilityNotifier = NodePath("../VisibleOnScreenNotifier2D")
root = NodePath("..")
[node name="LifetimeComponent" type="Node" parent="." node_paths=PackedStringArray("root", "timer")] [node name="LifetimeComponent" type="Node" parent="."]
script = ExtResource("5_qsc5m") script = ExtResource("4_r4wv6")
root = NodePath("..") LifeTime = 10.0
life_time = 10.0
timer = NodePath("../Timer")
[node name="LaunchComponent" type="Node2D" parent="." node_paths=PackedStringArray("root")] [node name="LaunchComponent" type="Node2D" parent="."]
script = ExtResource("6_6th6w") script = ExtResource("5_7bijt")
root = NodePath("..") Speed = 120.0
speed = 120.0
metadata/_custom_type_script = "uid://873un8agkyja" metadata/_custom_type_script = "uid://873un8agkyja"
[node name="StraightMotionComponent" type="Node" parent="." node_paths=PackedStringArray("root", "launch_component")] [node name="StraightMotionComponent" type="Node" parent="." node_paths=PackedStringArray("LaunchComponent")]
script = ExtResource("7_e0mqp") script = ExtResource("6_lycw2")
root = NodePath("..") LaunchComponent = NodePath("../LaunchComponent")
launch_component = NodePath("../LaunchComponent")
[node name="BulletComponent" type="Node" parent="." node_paths=PackedStringArray("root", "area2d", "hit_terrain_fx", "bullet_sprite")] [node name="BulletComponent" type="Node" parent="." node_paths=PackedStringArray("Area", "TerrainHitFx", "BulletSprite")]
script = ExtResource("3_keogl") script = ExtResource("7_2aweg")
root = NodePath("..") Area = NodePath("..")
area2d = NodePath("..") TerrainHitFx = NodePath("../TerrainHitFX")
hit_terrain_fx = NodePath("../TerrainHitFX") BulletSprite = NodePath("../Sprite2D")
bullet_sprite = NodePath("../Sprite2D")
metadata/_custom_type_script = "uid://cdnwrn8v05qhi" metadata/_custom_type_script = "uid://cdnwrn8v05qhi"
[node name="TerrainHitFX" parent="." instance=ExtResource("8_6th6w")] [node name="TerrainHitFX" parent="." instance=ExtResource("8_6th6w")]

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=5 format=3 uid="uid://to2xnqev0pu1"] [gd_scene load_steps=5 format=3 uid="uid://to2xnqev0pu1"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_5poh3"] [ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_5poh3"]
[ext_resource type="Script" uid="uid://ddplvyjqguxtl" path="res://scripts/components/cage_component.gd" id="2_unomj"] [ext_resource type="Script" uid="uid://dojn0gw8hsv02" path="res://scripts/components/CageComponent.cs" id="2_in1f7"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_aivtb"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_aivtb"]
texture = ExtResource("1_5poh3") texture = ExtResource("1_5poh3")
@@ -23,7 +23,6 @@ position = Vector2(20, 4)
tile_map_data = PackedByteArray(0, 0, 255, 255, 255, 255, 0, 0, 2, 0, 9, 0, 0, 0) tile_map_data = PackedByteArray(0, 0, 255, 255, 255, 255, 0, 0, 2, 0, 9, 0, 0, 0)
tile_set = SubResource("TileSet_67qt2") tile_set = SubResource("TileSet_67qt2")
[node name="CageComponent" type="Node" parent="." node_paths=PackedStringArray("root")] [node name="CageComponent" type="Node" parent="."]
script = ExtResource("2_unomj") script = ExtResource("2_in1f7")
root = NodePath("..") ShouldFree = false
should_free = false

View File

@@ -1,8 +1,8 @@
[gd_scene load_steps=5 format=3 uid="uid://dstko446qydsc"] [gd_scene load_steps=5 format=3 uid="uid://dstko446qydsc"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_6gptm"] [ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_6gptm"]
[ext_resource type="Script" uid="uid://d01dmoafptl2p" path="res://scripts/components/destroyable_component.gd" id="2_2tib2"] [ext_resource type="Script" uid="uid://ctfrbj52ejay4" path="res://scripts/components/DestroyableComponent.cs" id="2_q37h7"]
[ext_resource type="Script" uid="uid://btfsq0bvtrx3t" path="res://scripts/components/health.gd" id="3_vevhj"] [ext_resource type="Script" uid="uid://dgb8bqcri7nsj" path="res://scripts/components/HealthComponent.cs" id="3_bhwy3"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_j5sus"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_j5sus"]
size = Vector2(16, 16) size = Vector2(16, 16)
@@ -15,13 +15,12 @@ hframes = 12
vframes = 12 vframes = 12
frame = 42 frame = 42
[node name="DestroyableComponent" type="Node" parent="." node_paths=PackedStringArray("root", "health_component")] [node name="DestroyableComponent" type="Node" parent="." node_paths=PackedStringArray("Health")]
script = ExtResource("2_2tib2") script = ExtResource("2_q37h7")
root = NodePath("..") Health = NodePath("../HealthComponent")
health_component = NodePath("../HealthComponent")
[node name="HealthComponent" type="Node" parent="."] [node name="HealthComponent" type="Node2D" parent="."]
script = ExtResource("3_vevhj") script = ExtResource("3_bhwy3")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_j5sus") shape = SubResource("RectangleShape2D_j5sus")

View File

@@ -1,8 +1,8 @@
[gd_scene load_steps=5 format=3 uid="uid://dfwpha0d18dmn"] [gd_scene load_steps=5 format=3 uid="uid://dfwpha0d18dmn"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_rwgpm"] [ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_rwgpm"]
[ext_resource type="Script" uid="uid://dkmxhjtmu5xlb" path="res://scripts/components/damage_component.gd" id="2_cprue"] [ext_resource type="Script" uid="uid://2i7p7v135u7c" path="res://scripts/components/DamageComponent.cs" id="2_hrj61"]
[ext_resource type="Script" uid="uid://bejv75mi8npj0" path="res://scripts/components/beam_component.gd" id="3_jlh0s"] [ext_resource type="Script" uid="uid://df1llrbm80e02" path="res://scripts/components/BeamComponent.cs" id="3_hrj61"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ptfn7"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_ptfn7"]
size = Vector2(8, 16) size = Vector2(8, 16)
@@ -20,13 +20,14 @@ region_rect = Rect2(176, 64, 16, 16)
[node name="CollisionShape2D" type="CollisionShape2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_ptfn7") shape = SubResource("RectangleShape2D_ptfn7")
[node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")] [node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("Area")]
script = ExtResource("2_cprue") script = ExtResource("2_hrj61")
area2d = NodePath("..") Area = NodePath("..")
[node name="BeamComponent" type="Node2D" parent="." node_paths=PackedStringArray("root", "sprite2d", "collision_shape")] [node name="BeamComponent" type="Node2D" parent="." node_paths=PackedStringArray("Root", "Sprite", "CollisionShape")]
position = Vector2(0, -8) position = Vector2(0, -8)
script = ExtResource("3_jlh0s") script = ExtResource("3_hrj61")
root = NodePath("..") ExpansionSpeed = 16.0
sprite2d = NodePath("../Sprite2D") Root = NodePath(".")
collision_shape = NodePath("../CollisionShape2D") Sprite = NodePath("../Sprite2D")
CollisionShape = NodePath("../CollisionShape2D")

View File

@@ -1,8 +1,8 @@
[gd_scene load_steps=5 format=3 uid="uid://d3lt4rhxduv44"] [gd_scene load_steps=5 format=3 uid="uid://d3lt4rhxduv44"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_l5x2w"] [ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_l5x2w"]
[ext_resource type="Script" uid="uid://dkmxhjtmu5xlb" path="res://scripts/components/damage_component.gd" id="2_mxy0q"] [ext_resource type="Script" uid="uid://2i7p7v135u7c" path="res://scripts/components/DamageComponent.cs" id="2_0kbpg"]
[ext_resource type="Script" uid="uid://bejv75mi8npj0" path="res://scripts/components/beam_component.gd" id="3_mcbof"] [ext_resource type="Script" uid="uid://df1llrbm80e02" path="res://scripts/components/BeamComponent.cs" id="3_0kbpg"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ptfn7"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_ptfn7"]
size = Vector2(16, 8) size = Vector2(16, 8)
@@ -22,14 +22,14 @@ region_filter_clip_enabled = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_ptfn7") shape = SubResource("RectangleShape2D_ptfn7")
[node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")] [node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("Area")]
script = ExtResource("2_mxy0q") script = ExtResource("2_0kbpg")
area2d = NodePath("..") Area = NodePath("..")
[node name="BeamComponent" type="Node2D" parent="." node_paths=PackedStringArray("root", "sprite2d", "collision_shape")] [node name="BeamComponent" type="Node2D" parent="." node_paths=PackedStringArray("Root", "Sprite", "CollisionShape")]
position = Vector2(8, 0) position = Vector2(8, 0)
script = ExtResource("3_mcbof") script = ExtResource("3_0kbpg")
direction = Vector2(-1, 0) ExpansionSpeed = 16.0
root = NodePath("..") Root = NodePath("..")
sprite2d = NodePath("../Sprite2D") Sprite = NodePath("../Sprite2D")
collision_shape = NodePath("../CollisionShape2D") CollisionShape = NodePath("../CollisionShape2D")

View File

@@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://bon6raeddf3tu"] [gd_scene load_steps=2 format=3 uid="uid://bon6raeddf3tu"]
[ext_resource type="Script" uid="uid://cf4li7whw5old" path="res://scripts/components/chase_level_component.gd" id="1_ico16"] [ext_resource type="Script" uid="uid://dnpj72mfi1ywl" path="res://scripts/components/ChaseLevelComponent.cs" id="1_ico16"]
[node name="Chaser" type="Node2D"] [node name="Chaser" type="Node2D"]

View File

@@ -5,7 +5,7 @@
[ext_resource type="Texture2D" uid="uid://iiawtnwmeny3" path="res://sprites/right_eye.png" id="3_k41y7"] [ext_resource type="Texture2D" uid="uid://iiawtnwmeny3" path="res://sprites/right_eye.png" id="3_k41y7"]
[ext_resource type="Texture2D" uid="uid://8h05rd26t66q" path="res://sprites/lollipop.png" id="4_vq1oq"] [ext_resource type="Texture2D" uid="uid://8h05rd26t66q" path="res://sprites/lollipop.png" id="4_vq1oq"]
[ext_resource type="Texture2D" uid="uid://dpbpjffbdbovp" path="res://sprites/cap.png" id="5_m7x6t"] [ext_resource type="Texture2D" uid="uid://dpbpjffbdbovp" path="res://sprites/cap.png" id="5_m7x6t"]
[ext_resource type="Script" uid="uid://pa1bwc4no08q" path="res://scripts/components/collectable.gd" id="5_wc3ym"] [ext_resource type="Script" uid="uid://r4jybneigfcn" path="res://scripts/components/CollectableComponent.cs" id="6_rgif4"]
[ext_resource type="Resource" uid="uid://b6apusc0jmi3x" path="res://resources/collectables/child.tres" id="6_vmvuo"] [ext_resource type="Resource" uid="uid://b6apusc0jmi3x" path="res://resources/collectables/child.tres" id="6_vmvuo"]
[ext_resource type="AudioStream" uid="uid://drfr0wlgkhkdq" path="res://sfx/child_pickup.wav" id="7_j8eyh"] [ext_resource type="AudioStream" uid="uid://drfr0wlgkhkdq" path="res://sfx/child_pickup.wav" id="7_j8eyh"]
@@ -45,12 +45,12 @@ texture = ExtResource("4_vq1oq")
position = Vector2(4, -18) position = Vector2(4, -18)
texture = ExtResource("5_m7x6t") texture = ExtResource("5_m7x6t")
[node name="Collectable" type="Node" parent="." node_paths=PackedStringArray("area2d", "collision_shape", "sfx")] [node name="CollectableComponent" type="Node" parent="." node_paths=PackedStringArray("Area2D", "CollisionShape", "Sfx")]
script = ExtResource("5_wc3ym") script = ExtResource("6_rgif4")
area2d = NodePath("..") Area2D = NodePath("..")
collision_shape = NodePath("../CollisionShape2D") CollisionShape = NodePath("../CollisionShape2D")
collectable_data = ExtResource("6_vmvuo") Data = ExtResource("6_vmvuo")
sfx = NodePath("../sfx_pickup") Sfx = NodePath("../sfx_pickup")
[node name="sfx_pickup" type="AudioStreamPlayer2D" parent="."] [node name="sfx_pickup" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("7_j8eyh") stream = ExtResource("7_j8eyh")

View File

@@ -1,15 +1,15 @@
[gd_scene load_steps=7 format=3 uid="uid://54w4wisfj8v8"] [gd_scene load_steps=7 format=3 uid="uid://54w4wisfj8v8"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_epuj5"] [ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_epuj5"]
[ext_resource type="Script" uid="uid://pa1bwc4no08q" path="res://scripts/components/collectable.gd" id="2_y0k47"] [ext_resource type="Script" uid="uid://r4jybneigfcn" path="res://scripts/components/CollectableComponent.cs" id="2_gxix7"]
[ext_resource type="Resource" uid="uid://vql535ckoeqm" path="res://resources/collectables/coin.tres" id="3_fm2fq"] [ext_resource type="Resource" uid="uid://vql535ckoeqm" path="res://resources/collectables/coin.tres" id="3_fm2fq"]
[ext_resource type="Script" uid="uid://bg75hnr3q6grk" path="res://scripts/components/fade_away.gd" id="4_fx1h2"] [ext_resource type="Script" uid="uid://bjln6jb1sigx2" path="res://scripts/components/FadeAwayComponent.cs" id="4_gxix7"]
[ext_resource type="AudioStream" uid="uid://dpyr80hk4kebc" path="res://sfx/pickup_coin_1.wav" id="5_4jc2c"] [ext_resource type="AudioStream" uid="uid://dpyr80hk4kebc" path="res://sfx/pickup_coin_1.wav" id="5_4jc2c"]
[sub_resource type="CircleShape2D" id="CircleShape2D_3ask2"] [sub_resource type="CircleShape2D" id="CircleShape2D_3ask2"]
radius = 9.0 radius = 9.0
[node name="Coin" type="Area2D"] [node name="Coin" type="Area2D" groups=["coins"]]
collision_layer = 2 collision_layer = 2
collision_mask = 4 collision_mask = 4
@@ -22,19 +22,18 @@ hframes = 12
vframes = 12 vframes = 12
frame = 51 frame = 51
[node name="Collectable" type="Node" parent="." node_paths=PackedStringArray("area2d", "collision_shape", "sfx") groups=["coins"]] [node name="CollectableComponent" type="Node" parent="." node_paths=PackedStringArray("Area2D", "CollisionShape", "Sfx")]
script = ExtResource("2_y0k47") script = ExtResource("2_gxix7")
area2d = NodePath("..") Area2D = NodePath("..")
collision_shape = NodePath("../CollisionShape2D") CollisionShape = NodePath("../CollisionShape2D")
collectable_data = ExtResource("3_fm2fq") Data = ExtResource("3_fm2fq")
sfx = NodePath("../sfx") Sfx = NodePath("../sfx")
[node name="FadeAwayComponent" type="Node" parent="." node_paths=PackedStringArray("sprite2d", "root", "area2d")] [node name="FadeAwayComponent" type="Node" parent="." node_paths=PackedStringArray("Sprite", "Area")]
script = ExtResource("4_fx1h2") script = ExtResource("4_gxix7")
sprite2d = NodePath("../Sprite2D") Sprite = NodePath("../Sprite2D")
fade_duration = 0.4 FadeDuration = 0.4
root = NodePath("..") Area = NodePath("..")
area2d = NodePath("..")
[node name="sfx" type="AudioStreamPlayer2D" parent="."] [node name="sfx" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("5_4jc2c") stream = ExtResource("5_4jc2c")

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=5 format=3 uid="uid://c40r76qqacqie"] [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="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"] [ext_resource type="Script" uid="uid://xqhrb1c7f6y4" path="res://scripts/components/CollapsableComponent.cs" id="2_jmsgb"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_l44jt"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_l44jt"]
size = Vector2(16, 16) size = Vector2(16, 16)
@@ -32,16 +32,15 @@ wait_time = 0.5
[node name="ResetTimer" type="Timer" parent="."] [node name="ResetTimer" type="Timer" parent="."]
[node name="CollapsableComponent" type="Node" parent="." node_paths=PackedStringArray("to_collapse_timer", "reset_timer", "sprite2d", "collision_shape")] [node name="CollapsableComponent" type="Node" parent="." node_paths=PackedStringArray("ToCollapseTimer", "ResetTimer", "Sprite2D", "CollisionShape")]
script = ExtResource("2_cs5vh") script = ExtResource("2_jmsgb")
to_collapse_timer = NodePath("../ToCollapseTimer") ToCollapseTimer = NodePath("../ToCollapseTimer")
reset_timer = NodePath("../ResetTimer") ResetTimer = NodePath("../ResetTimer")
sprite2d = NodePath("../Sprite2D") Sprite2D = NodePath("../Sprite2D")
collision_shape = NodePath("../StaticCollisionShape2D") CollisionShape = NodePath("../Collapsable detector/AreaCollisionShape2D")
collapse_time = 0.75 ResetTime = 1.0
reset_time = 3.0
[connection signal="body_entered" from="Collapsable detector" to="CollapsableComponent" method="_on_collapsable_detector_body_entered"] [connection signal="body_entered" from="Collapsable detector" to="CollapsableComponent" method="OnCollapsableDetectorBodyEntered"]
[connection signal="body_exited" from="Collapsable detector" to="CollapsableComponent" method="_on_collapsable_detector_body_exited"] [connection signal="body_exited" from="Collapsable detector" to="CollapsableComponent" method="OnCollapsableDetectorBodyExited"]
[connection signal="timeout" from="ToCollapseTimer" to="CollapsableComponent" method="_on_to_collapse_timer_timeout"] [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"] [connection signal="timeout" from="ResetTimer" to="CollapsableComponent" method="_on_reset_timer_timeout"]

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=5 format=3 uid="uid://ct8fim6mduyl3"] [gd_scene load_steps=5 format=3 uid="uid://ct8fim6mduyl3"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_rka1x"] [ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_rka1x"]
[ext_resource type="Script" uid="uid://r0a6xjicrh74" path="res://scripts/components/collapsable.gd" id="2_3vvum"] [ext_resource type="Script" uid="uid://xqhrb1c7f6y4" path="res://scripts/components/CollapsableComponent.cs" id="2_w33sr"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_l44jt"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_l44jt"]
size = Vector2(16, 4) size = Vector2(16, 4)
@@ -34,16 +34,16 @@ wait_time = 0.5
[node name="ResetTimer" type="Timer" parent="."] [node name="ResetTimer" type="Timer" parent="."]
[node name="CollapsableComponent" type="Node" parent="." node_paths=PackedStringArray("to_collapse_timer", "reset_timer", "sprite2d", "collision_shape")] [node name="CollapsableComponent" type="Node" parent="." node_paths=PackedStringArray("ToCollapseTimer", "ResetTimer", "Sprite2D", "CollisionShape")]
script = ExtResource("2_3vvum") script = ExtResource("2_w33sr")
to_collapse_timer = NodePath("../ToCollapseTimer") ToCollapseTimer = NodePath("../ToCollapseTimer")
reset_timer = NodePath("../ResetTimer") ResetTimer = NodePath("../ResetTimer")
sprite2d = NodePath("../Sprite2D") Sprite2D = NodePath("../Sprite2D")
collision_shape = NodePath("../StaticCollisionShape2D") CollisionShape = NodePath("../Collapsable detector/AreaCollisionShape2D")
collapse_time = 0.75 CollapseTime = 0.75
reset_time = 3.0 ResetTime = 3.0
[connection signal="body_entered" from="Collapsable detector" to="CollapsableComponent" method="_on_collapsable_detector_body_entered"] [connection signal="body_entered" from="Collapsable detector" to="CollapsableComponent" method="OnCollapsableDetectorBodyEntered"]
[connection signal="body_exited" from="Collapsable detector" to="CollapsableComponent" method="_on_collapsable_detector_body_exited"] [connection signal="body_exited" from="Collapsable detector" to="CollapsableComponent" method="OnCollapsableDetectorBodyExited"]
[connection signal="timeout" from="ToCollapseTimer" to="CollapsableComponent" method="_on_to_collapse_timer_timeout"] [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"] [connection signal="timeout" from="ResetTimer" to="CollapsableComponent" method="_on_reset_timer_timeout"]

View File

@@ -1,18 +1,19 @@
[gd_scene load_steps=26 format=3 uid="uid://bwdlmualj6xbw"] [gd_scene load_steps=27 format=3 uid="uid://bwdlmualj6xbw"]
[ext_resource type="Shader" uid="uid://bs4xvm4qkurpr" path="res://shaders/hit_flash.tres" id="1_ep4yr"] [ext_resource type="Shader" uid="uid://bs4xvm4qkurpr" path="res://shaders/hit_flash.tres" id="1_ep4yr"]
[ext_resource type="Texture2D" uid="uid://cu72810eyk4dx" path="res://sprites/enemy-robot.png" id="2_hjtwe"] [ext_resource type="Texture2D" uid="uid://cu72810eyk4dx" path="res://sprites/enemy-robot.png" id="2_hjtwe"]
[ext_resource type="Script" uid="uid://btfsq0bvtrx3t" path="res://scripts/components/health.gd" id="2_o170m"] [ext_resource type="Script" uid="uid://dgb8bqcri7nsj" path="res://scripts/components/HealthComponent.cs" id="3_pxaaa"]
[ext_resource type="Script" uid="uid://dkmxhjtmu5xlb" path="res://scripts/components/damage_component.gd" id="4_4eajk"] [ext_resource type="Script" uid="uid://2i7p7v135u7c" path="res://scripts/components/DamageComponent.cs" id="4_xku20"]
[ext_resource type="Script" uid="uid://dmqpif5qhvri3" path="res://scripts/components/side_to_side_movement.gd" id="4_gbsq8"] [ext_resource type="Script" uid="uid://d2hrr8fruho1d" path="res://scripts/components/SideToSideMovementComponent.cs" id="5_5lji2"]
[ext_resource type="Script" uid="uid://b37gqnycj6rtk" path="res://scripts/components/periodic_shooting.gd" id="5_m03v0"] [ext_resource type="Script" uid="uid://bnaxy8cw3wrko" path="res://scripts/components/PeriodicShootingComponent.cs" id="6_lgbyy"]
[ext_resource type="Script" uid="uid://dqm371fysuk7i" path="res://scripts/components/enemy_death.gd" id="6_6p3gr"] [ext_resource type="PackedScene" uid="uid://bhc7y4xugu4q7" path="res://objects/entities/bullet.tscn" id="7_r48kf"]
[ext_resource type="Script" uid="uid://dqmbvuutd5c3c" path="res://scripts/components/flashing_component.gd" id="7_xsaiy"] [ext_resource type="Script" uid="uid://cfdugoeduudar" path="res://scripts/components/EnemyDeathComponent.cs" id="8_pxaaa"]
[ext_resource type="Script" uid="uid://ceq8n7yw7qxpi" path="res://scripts/components/hit_component.gd" id="9_0qjr4"] [ext_resource type="Script" uid="uid://dvyd26ricriql" path="res://scripts/components/FlashingComponent.cs" id="9_xku20"]
[ext_resource type="Script" uid="uid://c07d50s20rl8s" path="res://scripts/components/status_effect_component.gd" id="10_5i27q"] [ext_resource type="Script" uid="uid://bo506l4x0808e" path="res://scripts/components/HitComponent.cs" id="10_5lji2"]
[ext_resource type="Script" uid="uid://qi2irprbqru2" path="res://scripts/components/fire_effect_component.gd" id="10_ej8vg"] [ext_resource type="Script" uid="uid://t8rsvwdwt8ea" path="res://scripts/components/StatusEffectComponent.cs" id="11_lgbyy"]
[ext_resource type="Script" uid="uid://dhj4qtwcqmqkj" path="res://scripts/components/ice_effect_component.gd" id="11_pq0k7"] [ext_resource type="Script" uid="uid://cxuig4xh8nfov" path="res://scripts/components/FireEffectComponent.cs" id="12_pxaaa"]
[ext_resource type="AudioStream" uid="uid://b3tsqhr06pbrs" path="res://sfx/enemy_hurt.wav" id="13_u4k3d"] [ext_resource type="AudioStream" uid="uid://b3tsqhr06pbrs" path="res://sfx/enemy_hurt.wav" id="13_u4k3d"]
[ext_resource type="Script" uid="uid://d1388lhp2gpgr" path="res://scripts/components/IceEffectComponent.cs" id="13_xku20"]
[ext_resource type="AudioStream" uid="uid://dyev46uqusimi" path="res://sfx/shoot.wav" id="14_tdjks"] [ext_resource type="AudioStream" uid="uid://dyev46uqusimi" path="res://sfx/shoot.wav" id="14_tdjks"]
[ext_resource type="PackedScene" uid="uid://dx80ivlvuuew4" path="res://objects/fxs/fire_fx.tscn" id="15_mc6rj"] [ext_resource type="PackedScene" uid="uid://dx80ivlvuuew4" path="res://objects/fxs/fire_fx.tscn" id="15_mc6rj"]
[ext_resource type="PackedScene" uid="uid://ck6nml06tm6ue" path="res://objects/fxs/ice_fx.tscn" id="16_68hnm"] [ext_resource type="PackedScene" uid="uid://ck6nml06tm6ue" path="res://objects/fxs/ice_fx.tscn" id="16_68hnm"]
@@ -77,38 +78,37 @@ position = Vector2(16, 7)
[node name="left bullet spawn" type="Node2D" parent="Sprite2D"] [node name="left bullet spawn" type="Node2D" parent="Sprite2D"]
position = Vector2(-17, 7) position = Vector2(-17, 7)
[node name="HealthComponent" type="Node" parent="." node_paths=PackedStringArray("hurt_fx")] [node name="HealthComponent" type="Node2D" parent="." node_paths=PackedStringArray("HurtSfx")]
script = ExtResource("2_o170m") script = ExtResource("3_pxaaa")
hurt_fx = NodePath("../sfx_hurt") HurtSfx = NodePath("../sfx_hurt")
[node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")] [node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("Area")]
script = ExtResource("4_4eajk") script = ExtResource("4_xku20")
area2d = NodePath("../Hitbox") Area = NodePath("../Hitbox")
[node name="SideToSideMovement" type="Node" parent="." node_paths=PackedStringArray("root", "sprite2d", "left_ray", "right_ray", "left_wall_ray", "right_wall_ray")] [node name="SideToSideMovement" type="Node" parent="." node_paths=PackedStringArray("Sprite", "LeftRay", "RightRay", "LeftWallRay", "RightWallRay")]
script = ExtResource("4_gbsq8") script = ExtResource("5_5lji2")
root = NodePath("..") Sprite = NodePath("../Sprite2D")
sprite2d = NodePath("../Sprite2D") Speed = 60.0
speed = 60.0 WaitTime = 0.5
wait_time = 0.5 LeftRay = NodePath("../Left Ray")
left_ray = NodePath("../Left Ray") RightRay = NodePath("../Right Ray")
right_ray = NodePath("../Right Ray") LeftWallRay = NodePath("../Left Wall Ray")
left_wall_ray = NodePath("../Left Wall Ray") RightWallRay = NodePath("../Right Wall Ray")
right_wall_ray = NodePath("../Right Wall Ray")
[node name="PeriodicShootingComponent" type="Node" parent="." node_paths=PackedStringArray("side_to_side_movement", "root", "bullet_spawn_right", "bullet_spawn_left")] [node name="PeriodicShootingComponent" type="Node" parent="." node_paths=PackedStringArray("SideToSideMovement", "BulletSpawnRight", "BulletSpawnLeft")]
script = ExtResource("5_m03v0") script = ExtResource("6_lgbyy")
side_to_side_movement = NodePath("../SideToSideMovement") BulletScene = ExtResource("7_r48kf")
root = NodePath("..") SideToSideMovement = NodePath("../SideToSideMovement")
bullet_spawn_right = NodePath("../Sprite2D/right bullet spawn") BulletSpawnRight = NodePath("../Sprite2D/right bullet spawn")
bullet_spawn_left = NodePath("../Sprite2D/left bullet spawn") BulletSpawnLeft = NodePath("../Sprite2D/left bullet spawn")
ShootingIntervalVariation = 0.1
[node name="EnemyDeathComponent" type="Node" parent="." node_paths=PackedStringArray("root", "collision_shape_2d", "health_component")] [node name="EnemyDeathComponent" type="Node" parent="." node_paths=PackedStringArray("CollisionShape", "Health")]
script = ExtResource("6_6p3gr") script = ExtResource("8_pxaaa")
root = NodePath("..") TweenDuration = 0.1
tween_duration = 0.1 CollisionShape = NodePath("../Hitbox/CollisionShape2D")
collision_shape_2d = NodePath("../Hitbox/CollisionShape2D") Health = NodePath("../HealthComponent")
health_component = NodePath("../HealthComponent")
[node name="Hitbox" type="Area2D" parent="."] [node name="Hitbox" type="Area2D" parent="."]
collision_layer = 8 collision_layer = 8
@@ -136,33 +136,32 @@ target_position = Vector2(0, 8)
position = Vector2(16, 0) position = Vector2(16, 0)
target_position = Vector2(8, 0) target_position = Vector2(8, 0)
[node name="FlashingComponent" type="Node" parent="." node_paths=PackedStringArray("sprite", "health_component")] [node name="FlashingComponent" type="Node" parent="." node_paths=PackedStringArray("Sprite", "HealthComponent")]
process_mode = 3 process_mode = 3
script = ExtResource("7_xsaiy") script = ExtResource("9_xku20")
sprite = NodePath("../Sprite2D") Sprite = NodePath("../Sprite2D")
health_component = NodePath("../HealthComponent") HealthComponent = NodePath("../HealthComponent")
[node name="HitComponent" type="Node" parent="." node_paths=PackedStringArray("sprite", "health_component", "hit_fx")] [node name="HitComponent" type="Node" parent="." node_paths=PackedStringArray("Sprite", "Health", "HitFx")]
script = ExtResource("9_0qjr4") script = ExtResource("10_5lji2")
sprite = NodePath("../Sprite2D") Sprite = NodePath("../Sprite2D")
health_component = NodePath("../HealthComponent") Health = NodePath("../HealthComponent")
hit_fx = NodePath("../HitParticles") HitFx = NodePath("../HitParticles")
[node name="StatusEffectComponent" type="Node" parent="."] [node name="StatusEffectComponent" type="Node" parent="."]
script = ExtResource("10_5i27q") script = ExtResource("11_lgbyy")
[node name="FireEffectComponent" type="Node" parent="." node_paths=PackedStringArray("health_component", "status_effect_component", "root", "fire_fx")] [node name="FireEffectComponent" type="Node" parent="." node_paths=PackedStringArray("Health", "StatusEffectComponent", "FireFX")]
script = ExtResource("10_ej8vg") script = ExtResource("12_pxaaa")
health_component = NodePath("../HealthComponent") Health = NodePath("../HealthComponent")
status_effect_component = NodePath("../StatusEffectComponent") StatusEffectComponent = NodePath("../StatusEffectComponent")
root = NodePath("..") FireFX = NodePath("../FireFX")
fire_fx = NodePath("../FireFX")
[node name="IceEffectComponent" type="Node" parent="." node_paths=PackedStringArray("status_effect_component", "ice_fx")] [node name="IceEffectComponent" type="Node" parent="." node_paths=PackedStringArray("ComponentsToDisable", "StatusEffectComponent", "IceFx")]
script = ExtResource("11_pq0k7") script = ExtResource("13_xku20")
components_to_disable = [NodePath("../SideToSideMovement"), NodePath("../PeriodicShootingComponent"), NodePath("../DamageComponent")] ComponentsToDisable = [NodePath("../SideToSideMovement"), NodePath("../PeriodicShootingComponent"), NodePath("../DamageComponent")]
status_effect_component = NodePath("../StatusEffectComponent") StatusEffectComponent = NodePath("../StatusEffectComponent")
ice_fx = NodePath("../Ice FX") IceFx = NodePath("../Ice FX")
[node name="sfx_hurt" type="AudioStreamPlayer2D" parent="."] [node name="sfx_hurt" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("13_u4k3d") stream = ExtResource("13_u4k3d")

View File

@@ -1,9 +1,9 @@
[gd_scene load_steps=6 format=3 uid="uid://12jnkdygpxwc"] [gd_scene load_steps=6 format=3 uid="uid://12jnkdygpxwc"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_agxwm"] [ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_agxwm"]
[ext_resource type="Script" uid="uid://cmh8k0rdsyh7j" path="res://scripts/components/requirement_component.gd" id="2_iysc1"] [ext_resource type="Script" uid="uid://dnh0mekg2vqxi" path="res://scripts/components/RequirementComponent.cs" id="2_ed7mh"]
[ext_resource type="Script" uid="uid://c8xhgkg8gcqu6" path="res://scripts/components/unlock_on_requirement_component.gd" id="3_5ktpq"] [ext_resource type="Script" uid="uid://gwr4eajx8j50" path="res://scripts/components/UnlockOnRequirementComponent.cs" id="3_ed7mh"]
[ext_resource type="Script" uid="uid://bwamqffvpa452" path="res://scripts/components/exit_door_component.gd" id="4_4jgt0"] [ext_resource type="Script" uid="uid://c5mhwlyvfuaip" path="res://scripts/components/ExitDoorComponent.cs" id="4_06sog"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_yfu6m"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_yfu6m"]
size = Vector2(28, 32) size = Vector2(28, 32)
@@ -25,19 +25,19 @@ position = Vector2(0, -8)
shape = SubResource("RectangleShape2D_yfu6m") shape = SubResource("RectangleShape2D_yfu6m")
[node name="RequirementComponent" type="Node" parent="."] [node name="RequirementComponent" type="Node" parent="."]
script = ExtResource("2_iysc1") script = ExtResource("2_ed7mh")
requirement_type = 1 RequirementType = 1
metadata/_custom_type_script = "uid://cmh8k0rdsyh7j" metadata/_custom_type_script = "uid://cmh8k0rdsyh7j"
[node name="UnlockOnRequirementComponent" type="Node" parent="." node_paths=PackedStringArray("requirement_component", "unlock_target")] [node name="UnlockOnRequirementComponent" type="Node" parent="." node_paths=PackedStringArray("RequirementComponent", "UnlockTarget")]
script = ExtResource("3_5ktpq") script = ExtResource("3_ed7mh")
requirement_component = NodePath("../RequirementComponent") RequirementComponent = NodePath("../RequirementComponent")
unlock_target = NodePath("../ExitDoorComponent") UnlockTarget = NodePath("../ExitDoorComponent")
metadata/_custom_type_script = "uid://c8xhgkg8gcqu6" metadata/_custom_type_script = "uid://c8xhgkg8gcqu6"
[node name="ExitDoorComponent" type="Node" parent="." node_paths=PackedStringArray("exit_area", "door_sprite")] [node name="ExitDoorComponent" type="Node" parent="." node_paths=PackedStringArray("ExitArea", "DoorSprite")]
script = ExtResource("4_4jgt0") script = ExtResource("4_06sog")
exit_area = NodePath("..") ExitArea = NodePath("..")
door_sprite = NodePath("../Sprite2D") DoorSprite = NodePath("../Sprite2D")
opened_door_frame = 88 OpenedDoorFrame = 1
metadata/_custom_type_script = "uid://bwamqffvpa452" metadata/_custom_type_script = "uid://bwamqffvpa452"

View File

@@ -1,13 +1,13 @@
[gd_scene load_steps=12 format=3 uid="uid://5surx230gfw3"] [gd_scene load_steps=12 format=3 uid="uid://5surx230gfw3"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_rcgxf"] [ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_rcgxf"]
[ext_resource type="Script" uid="uid://dkmxhjtmu5xlb" path="res://scripts/components/damage_component.gd" id="3_y0uai"] [ext_resource type="Script" uid="uid://2i7p7v135u7c" path="res://scripts/components/DamageComponent.cs" id="2_nqeob"]
[ext_resource type="Script" uid="uid://beg4dk7d5pvhp" path="res://scripts/components/explosive_component.gd" id="4_8lw0n"] [ext_resource type="Script" uid="uid://7uttgdr6cr5y" path="res://scripts/components/ExplosiveComponent.cs" id="3_a2b5x"]
[ext_resource type="PackedScene" uid="uid://dyp4i4ru2j2jh" path="res://objects/fxs/explosion_fx.tscn" id="5_6oopj"] [ext_resource type="PackedScene" uid="uid://dyp4i4ru2j2jh" path="res://objects/fxs/explosion_fx.tscn" id="5_6oopj"]
[ext_resource type="Script" uid="uid://873un8agkyja" path="res://scripts/components/launch_component.gd" id="7_a2b5x"] [ext_resource type="Script" uid="uid://oyf25mpc5etr" path="res://scripts/components/LifetimeComponent.cs" id="5_nqeob"]
[ext_resource type="Script" uid="uid://bvsgg8lu0a8m6" path="res://scripts/components/lifetime_component.gd" id="7_nqeob"] [ext_resource type="Script" uid="uid://cbexrnnj47f87" path="res://scripts/components/LaunchComponent.cs" id="6_a2b5x"]
[ext_resource type="Script" uid="uid://c2gbumw4x4t1v" path="res://scripts/components/gravity_motion_component.gd" id="8_4ly8b"] [ext_resource type="Script" uid="uid://cwi5qashdag1g" path="res://scripts/components/GravityMotionComponent.cs" id="7_4ly8b"]
[ext_resource type="Script" uid="uid://bgty7040ams6s" path="res://scripts/components/projectile_init_component.gd" id="8_nqeob"] [ext_resource type="Script" uid="uid://c7n6ecsobohjn" path="res://scripts/components/ProjectileInitComponent.cs" id="8_nqeob"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ar0xf"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_ar0xf"]
size = Vector2(16, 10) size = Vector2(16, 10)
@@ -37,19 +37,17 @@ scale = Vector2(0.8, 0.5)
[node name="Timer" type="Timer" parent="."] [node name="Timer" type="Timer" parent="."]
[node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d", "damage_timer")] [node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("DamageTimer")]
script = ExtResource("3_y0uai") script = ExtResource("2_nqeob")
damage = 5.0 Damage = 5.0
area2d = NodePath("../Explosion area") DamageTimer = NodePath("../Timer")
damage_timer = NodePath("../Timer")
[node name="ExplosiveComponent" type="Node" parent="." node_paths=PackedStringArray("root", "damage", "area2d", "explosion_area2d")] [node name="ExplosiveComponent" type="Node" parent="." node_paths=PackedStringArray("Damage", "Area", "ExplodeArea")]
script = ExtResource("4_8lw0n") script = ExtResource("3_a2b5x")
root = NodePath("..") Damage = NodePath("../DamageComponent")
damage = NodePath("../DamageComponent") Area = NodePath("../BulletArea")
area2d = NodePath("../BulletArea") ExplodeArea = NodePath("../Explosion area")
explosion_area2d = NodePath("../Explosion area") ExplosionEffect = ExtResource("5_6oopj")
explosion_effect = ExtResource("5_6oopj")
[node name="Explosion area" type="Area2D" parent="."] [node name="Explosion area" type="Area2D" parent="."]
collision_layer = 0 collision_layer = 0
@@ -62,22 +60,20 @@ debug_color = Color(0.919034, 6.36289e-05, 0.69998, 0.42)
[node name="ExplosionFX" parent="." instance=ExtResource("5_6oopj")] [node name="ExplosionFX" parent="." instance=ExtResource("5_6oopj")]
randomness = 0.24 randomness = 0.24
[node name="LifetimeComponent" type="Node" parent="." node_paths=PackedStringArray("root", "timer")] [node name="LifetimeComponent" type="Node" parent="."]
script = ExtResource("7_nqeob") script = ExtResource("5_nqeob")
root = NodePath("..") LifeTime = 30.0
life_time = 30.0
timer = NodePath("../Timer")
[node name="LaunchComponent" type="Node2D" parent="." node_paths=PackedStringArray("root")] [node name="LaunchComponent" type="Node2D" parent="."]
script = ExtResource("7_a2b5x") script = ExtResource("6_a2b5x")
root = NodePath("..") Speed = 240.0
speed = 240.0
metadata/_custom_type_script = "uid://873un8agkyja" metadata/_custom_type_script = "uid://873un8agkyja"
[node name="GravityMotionComponent" type="Node2D" parent="." node_paths=PackedStringArray("character_body", "launch_component")] [node name="GravityMotionComponent" type="Node2D" parent="." node_paths=PackedStringArray("Body", "LaunchComponent")]
script = ExtResource("8_4ly8b") script = ExtResource("7_4ly8b")
character_body = NodePath("..") Body = NodePath("..")
launch_component = NodePath("../LaunchComponent") LaunchComponent = NodePath("../LaunchComponent")
Gravity = Vector2(0, 980)
[node name="BulletArea" type="Area2D" parent="."] [node name="BulletArea" type="Area2D" parent="."]
collision_layer = 16 collision_layer = 16
@@ -85,7 +81,7 @@ collision_layer = 16
[node name="CollisionShape2D" type="CollisionShape2D" parent="BulletArea"] [node name="CollisionShape2D" type="CollisionShape2D" parent="BulletArea"]
shape = SubResource("RectangleShape2D_nqeob") shape = SubResource("RectangleShape2D_nqeob")
[node name="ProjectileInitComponent" type="Node" parent="." node_paths=PackedStringArray("launch_component")] [node name="ProjectileInitComponent" type="Node" parent="." node_paths=PackedStringArray("LaunchComponent")]
script = ExtResource("8_nqeob") script = ExtResource("8_nqeob")
launch_component = NodePath("../LaunchComponent") LaunchComponent = NodePath("../LaunchComponent")
metadata/_custom_type_script = "uid://bgty7040ams6s" metadata/_custom_type_script = "uid://bgty7040ams6s"

View File

@@ -1,14 +1,14 @@
[gd_scene load_steps=11 format=3 uid="uid://daau4j5hbklk0"] [gd_scene load_steps=11 format=3 uid="uid://daau4j5hbklk0"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_52l28"] [ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_52l28"]
[ext_resource type="Script" uid="uid://cdnwrn8v05qhi" path="res://scripts/components/bullet_component.gd" id="2_hjcob"] [ext_resource type="Script" uid="uid://cfw8nbrarex0i" path="res://scripts/components/BulletComponent.cs" id="2_5ybdf"]
[ext_resource type="Script" uid="uid://dkmxhjtmu5xlb" path="res://scripts/components/damage_component.gd" id="3_sog2h"] [ext_resource type="Script" uid="uid://2i7p7v135u7c" path="res://scripts/components/DamageComponent.cs" id="3_b1kpf"]
[ext_resource type="Resource" uid="uid://obodgnkhxuhe" path="res://resources/status_effect/fire.tres" id="4_xx5l4"] [ext_resource type="Resource" uid="uid://obodgnkhxuhe" path="res://resources/status_effect/fire.tres" id="4_xx5l4"]
[ext_resource type="Script" uid="uid://d3brcje121krs" path="res://scripts/components/effect_inflictor_component.gd" id="5_ofrqk"] [ext_resource type="Script" uid="uid://xjq33vj0rol0" path="res://scripts/components/EffectInflictorComponent.cs" id="5_wfje1"]
[ext_resource type="Script" uid="uid://1tnr46o1ib4u" path="res://scripts/components/out_of_screen_component.gd" id="6_64yur"] [ext_resource type="Script" uid="uid://cs6u3sh68f43j" path="res://scripts/components/OutOfScreenComponent.cs" id="6_666k7"]
[ext_resource type="Script" uid="uid://873un8agkyja" path="res://scripts/components/launch_component.gd" id="7_hulun"] [ext_resource type="Script" uid="uid://cbexrnnj47f87" path="res://scripts/components/LaunchComponent.cs" id="7_67bn4"]
[ext_resource type="Script" uid="uid://cvcnfrr1udco5" path="res://scripts/components/straight_motion_component.gd" id="8_kift8"] [ext_resource type="Script" uid="uid://c7p06t0eax8am" path="res://scripts/components/StraightMotionComponent.cs" id="8_5ybdf"]
[ext_resource type="Script" uid="uid://bgty7040ams6s" path="res://scripts/components/projectile_init_component.gd" id="9_5ybdf"] [ext_resource type="Script" uid="uid://c7n6ecsobohjn" path="res://scripts/components/ProjectileInitComponent.cs" id="9_b1kpf"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ar0xf"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_ar0xf"]
size = Vector2(16, 10) size = Vector2(16, 10)
@@ -26,10 +26,10 @@ hframes = 12
vframes = 12 vframes = 12
frame = 80 frame = 80
[node name="BulletComponent" type="Node" parent="." node_paths=PackedStringArray("root", "area2d")] [node name="BulletComponent" type="Node" parent="." node_paths=PackedStringArray("Area", "BulletSprite")]
script = ExtResource("2_hjcob") script = ExtResource("2_5ybdf")
root = NodePath("..") Area = NodePath("..")
area2d = NodePath("..") BulletSprite = NodePath("../Sprite2D")
[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."] [node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."]
position = Vector2(0, 2.38419e-07) position = Vector2(0, 2.38419e-07)
@@ -37,34 +37,31 @@ scale = Vector2(0.8, 0.5)
[node name="Timer" type="Timer" parent="."] [node name="Timer" type="Timer" parent="."]
[node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")] [node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("Area", "DamageTimer")]
script = ExtResource("3_sog2h") script = ExtResource("3_b1kpf")
damage = 0.1 Area = NodePath("..")
area2d = NodePath("..") StatusEffectData = ExtResource("4_xx5l4")
status_effect_data = ExtResource("4_xx5l4") DamageTimer = NodePath("../Timer")
[node name="EffectInflictorComponent" type="Node" parent="." node_paths=PackedStringArray("damage")] [node name="EffectInflictorComponent" type="Node" parent="." node_paths=PackedStringArray("Damage")]
script = ExtResource("5_ofrqk") script = ExtResource("5_wfje1")
damage = NodePath("../DamageComponent") Damage = NodePath("../DamageComponent")
[node name="OutOfScreenComponent" type="Node" parent="." node_paths=PackedStringArray("visibility_notifier", "root")] [node name="OutOfScreenComponent" type="Node" parent="." node_paths=PackedStringArray("VisibilityNotifier")]
script = ExtResource("6_64yur") script = ExtResource("6_666k7")
visibility_notifier = NodePath("../VisibleOnScreenNotifier2D") VisibilityNotifier = NodePath("../VisibleOnScreenNotifier2D")
root = NodePath("..")
[node name="LaunchComponent" type="Node2D" parent="." node_paths=PackedStringArray("root")] [node name="LaunchComponent" type="Node2D" parent="."]
script = ExtResource("7_hulun") script = ExtResource("7_67bn4")
root = NodePath("..") Speed = 200.0
speed = 200.0
metadata/_custom_type_script = "uid://873un8agkyja" metadata/_custom_type_script = "uid://873un8agkyja"
[node name="StraightMotionComponent" type="Node" parent="." node_paths=PackedStringArray("root", "launch_component")] [node name="StraightMotionComponent" type="Node" parent="." node_paths=PackedStringArray("LaunchComponent")]
script = ExtResource("8_kift8") script = ExtResource("8_5ybdf")
root = NodePath("..") LaunchComponent = NodePath("../LaunchComponent")
launch_component = NodePath("../LaunchComponent")
metadata/_custom_type_script = "uid://cvcnfrr1udco5" metadata/_custom_type_script = "uid://cvcnfrr1udco5"
[node name="ProjectileInitComponent" type="Node" parent="." node_paths=PackedStringArray("launch_component")] [node name="ProjectileInitComponent" type="Node" parent="." node_paths=PackedStringArray("LaunchComponent")]
script = ExtResource("9_5ybdf") script = ExtResource("9_b1kpf")
launch_component = NodePath("../LaunchComponent") LaunchComponent = NodePath("../LaunchComponent")
metadata/_custom_type_script = "uid://bgty7040ams6s" metadata/_custom_type_script = "uid://bgty7040ams6s"

View File

@@ -2,20 +2,20 @@
[ext_resource type="Texture2D" uid="uid://22k1u37j6k8y" path="res://sprites/flying_enemy.png" id="1_30hhw"] [ext_resource type="Texture2D" uid="uid://22k1u37j6k8y" path="res://sprites/flying_enemy.png" id="1_30hhw"]
[ext_resource type="Shader" uid="uid://bs4xvm4qkurpr" path="res://shaders/hit_flash.tres" id="1_uyhuj"] [ext_resource type="Shader" uid="uid://bs4xvm4qkurpr" path="res://shaders/hit_flash.tres" id="1_uyhuj"]
[ext_resource type="Script" uid="uid://btfsq0bvtrx3t" path="res://scripts/components/health.gd" id="2_ivniq"]
[ext_resource type="AudioStream" uid="uid://b3tsqhr06pbrs" path="res://sfx/enemy_hurt.wav" id="3_fd2du"] [ext_resource type="AudioStream" uid="uid://b3tsqhr06pbrs" path="res://sfx/enemy_hurt.wav" id="3_fd2du"]
[ext_resource type="Script" uid="uid://dgb8bqcri7nsj" path="res://scripts/components/HealthComponent.cs" id="3_uyhuj"]
[ext_resource type="AudioStream" uid="uid://dyev46uqusimi" path="res://sfx/shoot.wav" id="4_rhq76"] [ext_resource type="AudioStream" uid="uid://dyev46uqusimi" path="res://sfx/shoot.wav" id="4_rhq76"]
[ext_resource type="Script" uid="uid://dkmxhjtmu5xlb" path="res://scripts/components/damage_component.gd" id="5_cmp1h"] [ext_resource type="Script" uid="uid://2i7p7v135u7c" path="res://scripts/components/DamageComponent.cs" id="6_q78ru"]
[ext_resource type="Script" uid="uid://b37gqnycj6rtk" path="res://scripts/components/periodic_shooting.gd" id="6_4ajjm"]
[ext_resource type="PackedScene" uid="uid://t422jkov2t1b" path="res://objects/entities/red_laser.tscn" id="7_4ajjm"] [ext_resource type="PackedScene" uid="uid://t422jkov2t1b" path="res://objects/entities/red_laser.tscn" id="7_4ajjm"]
[ext_resource type="Script" uid="uid://dqm371fysuk7i" path="res://scripts/components/enemy_death.gd" id="7_uyhuj"] [ext_resource type="Script" uid="uid://bnaxy8cw3wrko" path="res://scripts/components/PeriodicShootingComponent.cs" id="7_weo6b"]
[ext_resource type="Script" uid="uid://dqmbvuutd5c3c" path="res://scripts/components/flashing_component.gd" id="8_q78ru"] [ext_resource type="Script" uid="uid://cfdugoeduudar" path="res://scripts/components/EnemyDeathComponent.cs" id="9_6p4k7"]
[ext_resource type="Script" uid="uid://ceq8n7yw7qxpi" path="res://scripts/components/hit_component.gd" id="9_weo6b"] [ext_resource type="Script" uid="uid://dvyd26ricriql" path="res://scripts/components/FlashingComponent.cs" id="10_jmybk"]
[ext_resource type="Script" uid="uid://c07d50s20rl8s" path="res://scripts/components/status_effect_component.gd" id="10_6p4k7"] [ext_resource type="Script" uid="uid://bo506l4x0808e" path="res://scripts/components/HitComponent.cs" id="11_2yvae"]
[ext_resource type="Script" uid="uid://qi2irprbqru2" path="res://scripts/components/fire_effect_component.gd" id="11_jmybk"] [ext_resource type="Script" uid="uid://t8rsvwdwt8ea" path="res://scripts/components/StatusEffectComponent.cs" id="12_xlup2"]
[ext_resource type="Script" uid="uid://dhj4qtwcqmqkj" path="res://scripts/components/ice_effect_component.gd" id="12_2yvae"] [ext_resource type="Script" uid="uid://cxuig4xh8nfov" path="res://scripts/components/FireEffectComponent.cs" id="13_mrjm6"]
[ext_resource type="PackedScene" uid="uid://b12tppjkkqpt4" path="res://objects/fxs/hit_particles.tscn" id="13_xlup2"] [ext_resource type="PackedScene" uid="uid://b12tppjkkqpt4" path="res://objects/fxs/hit_particles.tscn" id="13_xlup2"]
[ext_resource type="PackedScene" uid="uid://dx80ivlvuuew4" path="res://objects/fxs/fire_fx.tscn" id="14_mrjm6"] [ext_resource type="PackedScene" uid="uid://dx80ivlvuuew4" path="res://objects/fxs/fire_fx.tscn" id="14_mrjm6"]
[ext_resource type="Script" uid="uid://d1388lhp2gpgr" path="res://scripts/components/IceEffectComponent.cs" id="14_pkino"]
[ext_resource type="PackedScene" uid="uid://ck6nml06tm6ue" path="res://objects/fxs/ice_fx.tscn" id="15_pkino"] [ext_resource type="PackedScene" uid="uid://ck6nml06tm6ue" path="res://objects/fxs/ice_fx.tscn" id="15_pkino"]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_hil2i"] [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_hil2i"]
@@ -106,10 +106,9 @@ explosiveness = 0.5
fixed_fps = 24 fixed_fps = 24
process_material = SubResource("ParticleProcessMaterial_fd2du") process_material = SubResource("ParticleProcessMaterial_fd2du")
[node name="HealthComponent" type="Node" parent="." node_paths=PackedStringArray("hurt_fx")] [node name="HealthComponent" type="Node2D" parent="." node_paths=PackedStringArray("HurtSfx")]
script = ExtResource("2_ivniq") script = ExtResource("3_uyhuj")
hurt_fx = NodePath("../sfx_hurt") HurtSfx = NodePath("../sfx_hurt")
metadata/_custom_type_script = "uid://btfsq0bvtrx3t"
[node name="sfx_hurt" type="AudioStreamPlayer2D" parent="."] [node name="sfx_hurt" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("3_fd2du") stream = ExtResource("3_fd2du")
@@ -119,53 +118,50 @@ bus = &"sfx"
stream = ExtResource("4_rhq76") stream = ExtResource("4_rhq76")
bus = &"sfx" bus = &"sfx"
[node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")] [node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("Area")]
script = ExtResource("5_cmp1h") script = ExtResource("6_q78ru")
area2d = NodePath("../Hitbox") Area = NodePath("../Hitbox")
[node name="PeriodicShootingComponent" type="Node" parent="." node_paths=PackedStringArray("root", "bullet_spawn_right", "bullet_spawn_left")] [node name="PeriodicShootingComponent" type="Node" parent="." node_paths=PackedStringArray("BulletSpawnRight", "BulletSpawnLeft")]
script = ExtResource("6_4ajjm") script = ExtResource("7_weo6b")
bullet_scene = ExtResource("7_4ajjm") BulletScene = ExtResource("7_4ajjm")
shoot_interval = 2.0 ShootInterval = 2.0
root = NodePath("..") BulletSpawnRight = NodePath("../laser spawn point right")
bullet_spawn_right = NodePath("../laser spawn point right") BulletSpawnLeft = NodePath("../laser spawn point left")
bullet_spawn_left = NodePath("../laser spawn point left") ShootingIntervalVariation = 0.5
shooting_interval_variation = 0.5
[node name="EnemyDeathComponent" type="Node" parent="." node_paths=PackedStringArray("root", "collision_shape_2d", "health_component")] [node name="EnemyDeathComponent" type="Node" parent="." node_paths=PackedStringArray("CollisionShape", "Health")]
script = ExtResource("7_uyhuj") script = ExtResource("9_6p4k7")
root = NodePath("..") TweenDuration = 0.1
tween_duration = 0.1 CollisionShape = NodePath("../CollisionShape2D")
collision_shape_2d = NodePath("../CollisionShape2D") Health = NodePath("../HealthComponent")
health_component = NodePath("../HealthComponent")
[node name="FlashingComponent" type="Node" parent="." node_paths=PackedStringArray("sprite", "health_component")] [node name="FlashingComponent" type="Node" parent="." node_paths=PackedStringArray("Sprite", "HealthComponent")]
process_mode = 3 process_mode = 3
script = ExtResource("8_q78ru") script = ExtResource("10_jmybk")
sprite = NodePath("../Sprite2D") Sprite = NodePath("../Sprite2D")
health_component = NodePath("../HealthComponent") HealthComponent = NodePath("../HealthComponent")
[node name="HitComponent" type="Node" parent="." node_paths=PackedStringArray("sprite", "health_component", "hit_fx")] [node name="HitComponent" type="Node" parent="." node_paths=PackedStringArray("Sprite", "Health", "HitFx")]
script = ExtResource("9_weo6b") script = ExtResource("11_2yvae")
sprite = NodePath("../Sprite2D") Sprite = NodePath("../Sprite2D")
health_component = NodePath("../HealthComponent") Health = NodePath("../HealthComponent")
hit_fx = NodePath("../HitParticles") HitFx = NodePath("../HitParticles")
[node name="StatusEffectComponent" type="Node" parent="."] [node name="StatusEffectComponent" type="Node" parent="."]
script = ExtResource("10_6p4k7") script = ExtResource("12_xlup2")
[node name="FireEffectComponent" type="Node" parent="." node_paths=PackedStringArray("health_component", "status_effect_component", "root", "fire_fx")] [node name="FireEffectComponent" type="Node" parent="." node_paths=PackedStringArray("Health", "StatusEffectComponent", "FireFX")]
script = ExtResource("11_jmybk") script = ExtResource("13_mrjm6")
health_component = NodePath("../HealthComponent") Health = NodePath("../HealthComponent")
status_effect_component = NodePath("../StatusEffectComponent") StatusEffectComponent = NodePath("../StatusEffectComponent")
root = NodePath("..") FireFX = NodePath("../FireFX")
fire_fx = NodePath("../FireFX")
[node name="IceEffectComponent" type="Node" parent="." node_paths=PackedStringArray("status_effect_component", "ice_fx")] [node name="IceEffectComponent" type="Node" parent="." node_paths=PackedStringArray("ComponentsToDisable", "StatusEffectComponent", "IceFx")]
script = ExtResource("12_2yvae") script = ExtResource("14_pkino")
components_to_disable = [NodePath("../PeriodicShootingComponent"), NodePath("../DamageComponent")] ComponentsToDisable = [NodePath("../PeriodicShootingComponent"), NodePath("../DamageComponent")]
status_effect_component = NodePath("../StatusEffectComponent") StatusEffectComponent = NodePath("../StatusEffectComponent")
ice_fx = NodePath("../Ice FX") IceFx = NodePath("../Ice FX")
[node name="HitParticles" parent="." instance=ExtResource("13_xlup2")] [node name="HitParticles" parent="." instance=ExtResource("13_xlup2")]
position = Vector2(0, 1) position = Vector2(0, 1)

View File

@@ -1,13 +1,13 @@
[gd_scene load_steps=10 format=3 uid="uid://dtem8jgcyoqar"] [gd_scene load_steps=10 format=3 uid="uid://dtem8jgcyoqar"]
[ext_resource type="Script" uid="uid://dkmxhjtmu5xlb" path="res://scripts/components/damage_component.gd" id="1_nuljg"] [ext_resource type="Script" uid="uid://2i7p7v135u7c" path="res://scripts/components/DamageComponent.cs" id="1_2vcrp"]
[ext_resource type="Script" uid="uid://cdnwrn8v05qhi" path="res://scripts/components/bullet_component.gd" id="2_1gu8o"] [ext_resource type="Script" uid="uid://cfw8nbrarex0i" path="res://scripts/components/BulletComponent.cs" id="2_2bmqm"]
[ext_resource type="Script" uid="uid://1tnr46o1ib4u" path="res://scripts/components/out_of_screen_component.gd" id="3_2vcrp"] [ext_resource type="Script" uid="uid://cs6u3sh68f43j" path="res://scripts/components/OutOfScreenComponent.cs" id="3_772bd"]
[ext_resource type="Script" uid="uid://cvcnfrr1udco5" path="res://scripts/components/straight_motion_component.gd" id="4_2bmqm"] [ext_resource type="Script" uid="uid://c7p06t0eax8am" path="res://scripts/components/StraightMotionComponent.cs" id="4_vd16u"]
[ext_resource type="Script" uid="uid://873un8agkyja" path="res://scripts/components/launch_component.gd" id="5_772bd"] [ext_resource type="Script" uid="uid://cbexrnnj47f87" path="res://scripts/components/LaunchComponent.cs" id="5_8s1u3"]
[ext_resource type="Script" uid="uid://bvsgg8lu0a8m6" path="res://scripts/components/lifetime_component.gd" id="6_vd16u"] [ext_resource type="Script" uid="uid://oyf25mpc5etr" path="res://scripts/components/LifetimeComponent.cs" id="6_vuegc"]
[ext_resource type="Script" uid="uid://bgty7040ams6s" path="res://scripts/components/projectile_init_component.gd" id="7_1gu8o"] [ext_resource type="Script" uid="uid://c7n6ecsobohjn" path="res://scripts/components/ProjectileInitComponent.cs" id="7_kkqle"]
[ext_resource type="Script" uid="uid://bpy6xtfm8l3hy" path="res://scripts/components/trigger_lever_component.gd" id="8_2vcrp"] [ext_resource type="Script" uid="uid://cqau0810tjk4d" path="res://scripts/components/TriggerLeverComponent.cs" id="8_g8he0"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_n4uav"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_n4uav"]
size = Vector2(16, 2) size = Vector2(16, 2)
@@ -16,10 +16,9 @@ size = Vector2(16, 2)
collision_layer = 16 collision_layer = 16
collision_mask = 9 collision_mask = 9
[node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")] [node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("Area")]
script = ExtResource("1_nuljg") script = ExtResource("1_2vcrp")
damage = 1.0 Area = NodePath("..")
area2d = NodePath("..")
metadata/_custom_type_script = "uid://dkmxhjtmu5xlb" metadata/_custom_type_script = "uid://dkmxhjtmu5xlb"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
@@ -31,50 +30,44 @@ points = PackedVector2Array(0, 0, 16, 0)
width = 2.0 width = 2.0
default_color = Color(0, 94.012, 1, 1) default_color = Color(0, 94.012, 1, 1)
[node name="BulletComponent" type="Node" parent="." node_paths=PackedStringArray("root", "area2d")] [node name="BulletComponent" type="Node" parent="." node_paths=PackedStringArray("Area")]
script = ExtResource("2_1gu8o") script = ExtResource("2_2bmqm")
root = NodePath("..") Area = NodePath("..")
area2d = NodePath("..")
metadata/_custom_type_script = "uid://cdnwrn8v05qhi" metadata/_custom_type_script = "uid://cdnwrn8v05qhi"
[node name="OutOfScreenComponent" type="Node" parent="." node_paths=PackedStringArray("visibility_notifier", "root")] [node name="OutOfScreenComponent" type="Node" parent="." node_paths=PackedStringArray("VisibilityNotifier")]
script = ExtResource("3_2vcrp") script = ExtResource("3_772bd")
visibility_notifier = NodePath("../VisibleOnScreenNotifier2D") VisibilityNotifier = NodePath("../VisibleOnScreenNotifier2D")
root = NodePath("..")
metadata/_custom_type_script = "uid://1tnr46o1ib4u" metadata/_custom_type_script = "uid://1tnr46o1ib4u"
[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."] [node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."]
position = Vector2(8, 0) position = Vector2(8, 0)
scale = Vector2(0.8, 0.1) scale = Vector2(0.8, 0.1)
[node name="StraightMotionComponent" type="Node" parent="." node_paths=PackedStringArray("root", "launch_component")] [node name="StraightMotionComponent" type="Node" parent="." node_paths=PackedStringArray("LaunchComponent")]
script = ExtResource("4_2bmqm") script = ExtResource("4_vd16u")
root = NodePath("..") LaunchComponent = NodePath("../LaunchComponent")
launch_component = NodePath("../LaunchComponent")
metadata/_custom_type_script = "uid://cvcnfrr1udco5" metadata/_custom_type_script = "uid://cvcnfrr1udco5"
[node name="LaunchComponent" type="Node2D" parent="." node_paths=PackedStringArray("root")] [node name="LaunchComponent" type="Node2D" parent="."]
script = ExtResource("5_772bd") script = ExtResource("5_8s1u3")
root = NodePath("..") Speed = 320.0
speed = 320.0
metadata/_custom_type_script = "uid://873un8agkyja" metadata/_custom_type_script = "uid://873un8agkyja"
[node name="LifetimeComponent" type="Node" parent="." node_paths=PackedStringArray("root", "timer")] [node name="LifetimeComponent" type="Node" parent="."]
script = ExtResource("6_vd16u") script = ExtResource("6_vuegc")
root = NodePath("..") LifeTime = 10.0
life_time = 10.0
timer = NodePath("../Timer")
metadata/_custom_type_script = "uid://bvsgg8lu0a8m6" metadata/_custom_type_script = "uid://bvsgg8lu0a8m6"
[node name="Timer" type="Timer" parent="."] [node name="Timer" type="Timer" parent="."]
wait_time = 5.0 wait_time = 5.0
autostart = true autostart = true
[node name="ProjectileInitComponent" type="Node" parent="." node_paths=PackedStringArray("launch_component")] [node name="ProjectileInitComponent" type="Node" parent="." node_paths=PackedStringArray("LaunchComponent")]
script = ExtResource("7_1gu8o") script = ExtResource("7_kkqle")
launch_component = NodePath("../LaunchComponent") LaunchComponent = NodePath("../LaunchComponent")
metadata/_custom_type_script = "uid://bgty7040ams6s" metadata/_custom_type_script = "uid://bgty7040ams6s"
[node name="TriggerLeverComponent" type="Node" parent="."] [node name="TriggerLeverComponent" type="Node" parent="."]
script = ExtResource("8_2vcrp") script = ExtResource("8_g8he0")
metadata/_custom_type_script = "uid://bpy6xtfm8l3hy" metadata/_custom_type_script = "uid://bpy6xtfm8l3hy"

View File

@@ -1,13 +1,13 @@
[gd_scene load_steps=13 format=3 uid="uid://jiv4e82ycwmq"] [gd_scene load_steps=13 format=3 uid="uid://jiv4e82ycwmq"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_bmfqy"] [ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_bmfqy"]
[ext_resource type="Script" uid="uid://dkmxhjtmu5xlb" path="res://scripts/components/damage_component.gd" id="2_id4r8"] [ext_resource type="Script" uid="uid://2i7p7v135u7c" path="res://scripts/components/DamageComponent.cs" id="2_id4r8"]
[ext_resource type="Script" uid="uid://1tnr46o1ib4u" path="res://scripts/components/out_of_screen_component.gd" id="3_2uduj"] [ext_resource type="Script" uid="uid://cs6u3sh68f43j" path="res://scripts/components/OutOfScreenComponent.cs" id="3_2uduj"]
[ext_resource type="Script" uid="uid://bvsgg8lu0a8m6" path="res://scripts/components/lifetime_component.gd" id="4_x32ji"] [ext_resource type="Script" uid="uid://oyf25mpc5etr" path="res://scripts/components/LifetimeComponent.cs" id="4_x32ji"]
[ext_resource type="Script" uid="uid://873un8agkyja" path="res://scripts/components/launch_component.gd" id="5_r3id6"] [ext_resource type="Script" uid="uid://cbexrnnj47f87" path="res://scripts/components/LaunchComponent.cs" id="5_id4r8"]
[ext_resource type="Script" uid="uid://cdnwrn8v05qhi" path="res://scripts/components/bullet_component.gd" id="7_8gqaa"] [ext_resource type="Script" uid="uid://cfw8nbrarex0i" path="res://scripts/components/BulletComponent.cs" id="6_2uduj"]
[ext_resource type="Script" uid="uid://be8jhvb8t3kif" path="res://scripts/components/homing_missile_motion.gd" id="7_bmfqy"] [ext_resource type="Script" uid="uid://c2hplha6af74q" path="res://scripts/components/HomingMissileMotionComponent.cs" id="7_x32ji"]
[ext_resource type="Script" uid="uid://c0bvan0swashx" path="res://scripts/components/trail_component.gd" id="8_id4r8"] [ext_resource type="Script" uid="uid://cqkh5e36p5fj0" path="res://scripts/components/TrailComponent.cs" id="8_id4r8"]
[sub_resource type="CircleShape2D" id="CircleShape2D_txsw8"] [sub_resource type="CircleShape2D" id="CircleShape2D_txsw8"]
radius = 4.0 radius = 4.0
@@ -41,47 +41,42 @@ frame = 79
position = Vector2(2.38419e-07, 2.38419e-07) position = Vector2(2.38419e-07, 2.38419e-07)
scale = Vector2(0.4, 0.4) scale = Vector2(0.4, 0.4)
[node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")] [node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("Area")]
script = ExtResource("2_id4r8") script = ExtResource("2_id4r8")
area2d = NodePath("..") Area = NodePath("..")
[node name="Timer" type="Timer" parent="."] [node name="Timer" type="Timer" parent="."]
wait_time = 5.0 wait_time = 5.0
autostart = true autostart = true
[node name="OutOfScreenComponent" type="Node" parent="." node_paths=PackedStringArray("visibility_notifier", "root")] [node name="OutOfScreenComponent" type="Node" parent="." node_paths=PackedStringArray("VisibilityNotifier")]
script = ExtResource("3_2uduj") script = ExtResource("3_2uduj")
visibility_notifier = NodePath("../VisibleOnScreenNotifier2D") VisibilityNotifier = NodePath("../VisibleOnScreenNotifier2D")
root = NodePath("..")
[node name="LifetimeComponent" type="Node" parent="." node_paths=PackedStringArray("root", "timer")] [node name="LifetimeComponent" type="Node" parent="."]
script = ExtResource("4_x32ji") script = ExtResource("4_x32ji")
root = NodePath("..") LifeTime = 10.0
life_time = 10.0
timer = NodePath("../Timer")
[node name="LaunchComponent" type="Node2D" parent="." node_paths=PackedStringArray("root")] [node name="LaunchComponent" type="Node2D" parent="."]
script = ExtResource("5_r3id6") script = ExtResource("5_id4r8")
root = NodePath("..") Speed = 120.0
speed = 120.0
metadata/_custom_type_script = "uid://873un8agkyja" metadata/_custom_type_script = "uid://873un8agkyja"
[node name="BulletComponent" type="Node" parent="." node_paths=PackedStringArray("root", "area2d")] [node name="BulletComponent" type="Node" parent="." node_paths=PackedStringArray("Area", "BulletSprite")]
script = ExtResource("7_8gqaa") script = ExtResource("6_2uduj")
root = NodePath("..") Area = NodePath("..")
area2d = NodePath("..") BulletSprite = NodePath("../Sprite2D")
metadata/_custom_type_script = "uid://cdnwrn8v05qhi" metadata/_custom_type_script = "uid://cdnwrn8v05qhi"
[node name="HomingMissileMotion" type="Node" parent="." node_paths=PackedStringArray("launch_component", "root", "detection_area")] [node name="HomingMissileMotion" type="Node" parent="." node_paths=PackedStringArray("Launch", "DetectionArea")]
script = ExtResource("7_bmfqy") script = ExtResource("7_x32ji")
launch_component = NodePath("../LaunchComponent") Launch = NodePath("../LaunchComponent")
root = NodePath("..") MaxSpeed = 122.0
max_speed = 122.0 Acceleration = 4.0
acceleration = 4.0 WobbleStrength = 10.0
detection_area = NodePath("../DetectionArea") Drag = 1.0
wobble_strength = 10.0 SteeringLerp = 0.01
drag = 1.0 DetectionArea = NodePath("../DetectionArea")
steering_lerp = 0.01
[node name="DetectionArea" type="Area2D" parent="."] [node name="DetectionArea" type="Area2D" parent="."]
collision_layer = 0 collision_layer = 0

View File

@@ -1,14 +1,13 @@
[gd_scene load_steps=11 format=3 uid="uid://bcmx07k12gcsc"] [gd_scene load_steps=10 format=3 uid="uid://bcmx07k12gcsc"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_xusxl"] [ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_xusxl"]
[ext_resource type="Script" uid="uid://cdnwrn8v05qhi" path="res://scripts/components/bullet_component.gd" id="2_ilnf5"] [ext_resource type="Script" uid="uid://cfw8nbrarex0i" path="res://scripts/components/BulletComponent.cs" id="2_xvjl0"]
[ext_resource type="Script" uid="uid://dkmxhjtmu5xlb" path="res://scripts/components/damage_component.gd" id="3_3yf4g"] [ext_resource type="Script" uid="uid://2i7p7v135u7c" path="res://scripts/components/DamageComponent.cs" id="3_22hnt"]
[ext_resource type="Resource" uid="uid://02l4nbnf2aft" path="res://resources/status_effect/ice.tres" id="4_da7hn"] [ext_resource type="Script" uid="uid://xjq33vj0rol0" path="res://scripts/components/EffectInflictorComponent.cs" id="4_22hnt"]
[ext_resource type="Script" uid="uid://d3brcje121krs" path="res://scripts/components/effect_inflictor_component.gd" id="5_x7vqb"] [ext_resource type="Script" uid="uid://cs6u3sh68f43j" path="res://scripts/components/OutOfScreenComponent.cs" id="5_xvjl0"]
[ext_resource type="Script" uid="uid://1tnr46o1ib4u" path="res://scripts/components/out_of_screen_component.gd" id="6_7tdxt"] [ext_resource type="Script" uid="uid://c7p06t0eax8am" path="res://scripts/components/StraightMotionComponent.cs" id="6_6nrp8"]
[ext_resource type="Script" uid="uid://cvcnfrr1udco5" path="res://scripts/components/straight_motion_component.gd" id="7_22hnt"] [ext_resource type="Script" uid="uid://cbexrnnj47f87" path="res://scripts/components/LaunchComponent.cs" id="7_oml3k"]
[ext_resource type="Script" uid="uid://873un8agkyja" path="res://scripts/components/launch_component.gd" id="8_xvjl0"] [ext_resource type="Script" uid="uid://c7n6ecsobohjn" path="res://scripts/components/ProjectileInitComponent.cs" id="8_22hnt"]
[ext_resource type="Script" uid="uid://bgty7040ams6s" path="res://scripts/components/projectile_init_component.gd" id="9_xvjl0"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ar0xf"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_ar0xf"]
size = Vector2(16, 10) size = Vector2(16, 10)
@@ -26,10 +25,10 @@ hframes = 12
vframes = 12 vframes = 12
frame = 80 frame = 80
[node name="BulletComponent" type="Node" parent="." node_paths=PackedStringArray("root", "area2d")] [node name="BulletComponent" type="Node" parent="." node_paths=PackedStringArray("Area", "BulletSprite")]
script = ExtResource("2_ilnf5") script = ExtResource("2_xvjl0")
root = NodePath("..") Area = NodePath("..")
area2d = NodePath("..") BulletSprite = NodePath("../Sprite2D")
[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."] [node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."]
position = Vector2(0, 2.38419e-07) position = Vector2(0, 2.38419e-07)
@@ -37,34 +36,29 @@ scale = Vector2(0.8, 0.5)
[node name="Timer" type="Timer" parent="."] [node name="Timer" type="Timer" parent="."]
[node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")] [node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("Area")]
script = ExtResource("3_3yf4g") script = ExtResource("3_22hnt")
damage = 0.05 Area = NodePath("..")
area2d = NodePath("..")
status_effect_data = ExtResource("4_da7hn")
[node name="EffectInflictorComponent" type="Node" parent="." node_paths=PackedStringArray("damage")] [node name="EffectInflictorComponent" type="Node" parent="." node_paths=PackedStringArray("Damage")]
script = ExtResource("5_x7vqb") script = ExtResource("4_22hnt")
damage = NodePath("../DamageComponent") Damage = NodePath("../DamageComponent")
[node name="OutOfScreenComponent" type="Node" parent="." node_paths=PackedStringArray("visibility_notifier", "root")] [node name="OutOfScreenComponent" type="Node" parent="." node_paths=PackedStringArray("VisibilityNotifier")]
script = ExtResource("6_7tdxt") script = ExtResource("5_xvjl0")
visibility_notifier = NodePath("../VisibleOnScreenNotifier2D") VisibilityNotifier = NodePath("../VisibleOnScreenNotifier2D")
root = NodePath("..")
[node name="StraightMotionComponent" type="Node" parent="." node_paths=PackedStringArray("root", "launch_component")] [node name="StraightMotionComponent" type="Node" parent="." node_paths=PackedStringArray("LaunchComponent")]
script = ExtResource("7_22hnt") script = ExtResource("6_6nrp8")
root = NodePath("..") LaunchComponent = NodePath("../LaunchComponent")
launch_component = NodePath("../LaunchComponent")
metadata/_custom_type_script = "uid://cvcnfrr1udco5" metadata/_custom_type_script = "uid://cvcnfrr1udco5"
[node name="LaunchComponent" type="Node2D" parent="." node_paths=PackedStringArray("root")] [node name="LaunchComponent" type="Node2D" parent="."]
script = ExtResource("8_xvjl0") script = ExtResource("7_oml3k")
root = NodePath("..") Speed = 170.0
speed = 170.0
metadata/_custom_type_script = "uid://873un8agkyja" metadata/_custom_type_script = "uid://873un8agkyja"
[node name="ProjectileInitComponent" type="Node" parent="." node_paths=PackedStringArray("launch_component")] [node name="ProjectileInitComponent" type="Node" parent="." node_paths=PackedStringArray("LaunchComponent")]
script = ExtResource("9_xvjl0") script = ExtResource("8_22hnt")
launch_component = NodePath("../LaunchComponent") LaunchComponent = NodePath("../LaunchComponent")
metadata/_custom_type_script = "uid://bgty7040ams6s" metadata/_custom_type_script = "uid://bgty7040ams6s"

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=4 format=3 uid="uid://cm3rixnnev1pg"] [gd_scene load_steps=4 format=3 uid="uid://cm3rixnnev1pg"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_ctugi"] [ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_ctugi"]
[ext_resource type="Script" uid="uid://dwok2qx4wpkey" path="res://scripts/components/jump_pad_component.gd" id="2_2ypfs"] [ext_resource type="Script" uid="uid://bgbnof7aeydmq" path="res://scripts/components/JumpPadComponent.cs" id="2_huktk"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ci3ij"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_ci3ij"]
size = Vector2(16, 6) size = Vector2(16, 6)
@@ -20,9 +20,9 @@ hframes = 12
vframes = 12 vframes = 12
frame = 120 frame = 120
[node name="JumpPadComponent" type="Node" parent="." node_paths=PackedStringArray("area2d", "sprite2d")] [node name="JumpPadComponent" type="Node" parent="." node_paths=PackedStringArray("Area", "Sprite")]
script = ExtResource("2_2ypfs") script = ExtResource("2_huktk")
jump_force = 1110.0 JumpForce = 1110.0
area2d = NodePath("..") Area = NodePath("..")
sprite2d = NodePath("../Sprite2D") Sprite = NodePath("../Sprite2D")
start_animation_index = 120 StartAnimationIndex = 120

View File

@@ -1,6 +1,6 @@
[gd_scene load_steps=3 format=3 uid="uid://bqom4cm7r18db"] [gd_scene load_steps=3 format=3 uid="uid://bqom4cm7r18db"]
[ext_resource type="Script" uid="uid://dkmxhjtmu5xlb" path="res://scripts/components/damage_component.gd" id="1_un3fl"] [ext_resource type="Script" uid="uid://2i7p7v135u7c" path="res://scripts/components/DamageComponent.cs" id="1_ggub0"]
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_cr00c"] [sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_cr00c"]
@@ -11,7 +11,7 @@ collision_mask = 4
[node name="CollisionShape2D" type="CollisionShape2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("WorldBoundaryShape2D_cr00c") shape = SubResource("WorldBoundaryShape2D_cr00c")
[node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")] [node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("Area")]
script = ExtResource("1_un3fl") script = ExtResource("1_ggub0")
damage = 999999.0 Damage = 400000.0
area2d = NodePath("..") Area = NodePath("..")

View File

@@ -1,8 +1,8 @@
[gd_scene load_steps=5 format=3 uid="uid://c7ku0k8n55hjv"] [gd_scene load_steps=5 format=3 uid="uid://c7ku0k8n55hjv"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_brnkm"] [ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_brnkm"]
[ext_resource type="Script" uid="uid://dkmxhjtmu5xlb" path="res://scripts/components/damage_component.gd" id="2_x12f0"] [ext_resource type="Script" uid="uid://2i7p7v135u7c" path="res://scripts/components/DamageComponent.cs" id="2_l5xec"]
[ext_resource type="Script" uid="uid://bejv75mi8npj0" path="res://scripts/components/beam_component.gd" id="3_6pj0h"] [ext_resource type="Script" uid="uid://df1llrbm80e02" path="res://scripts/components/BeamComponent.cs" id="3_l5xec"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ptfn7"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_ptfn7"]
size = Vector2(8, 16) size = Vector2(8, 16)
@@ -20,13 +20,14 @@ region_rect = Rect2(176, 64, 16, 16)
[node name="CollisionShape2D" type="CollisionShape2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_ptfn7") shape = SubResource("RectangleShape2D_ptfn7")
[node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")] [node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("Area")]
script = ExtResource("2_x12f0") script = ExtResource("2_l5xec")
area2d = NodePath("..") Area = NodePath("..")
[node name="BeamComponent" type="Node2D" parent="." node_paths=PackedStringArray("root", "sprite2d", "collision_shape")] [node name="BeamComponent" type="Node2D" parent="." node_paths=PackedStringArray("Root", "Sprite", "CollisionShape")]
position = Vector2(0, -8) position = Vector2(0, -8)
script = ExtResource("3_6pj0h") script = ExtResource("3_l5xec")
root = NodePath("..") ExpansionSpeed = 16.0
sprite2d = NodePath("../Sprite2D") Root = NodePath("..")
collision_shape = NodePath("../CollisionShape2D") Sprite = NodePath("../Sprite2D")
CollisionShape = NodePath("../CollisionShape2D")

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=5 format=3 uid="uid://bd51frym6mm7v"] [gd_scene load_steps=5 format=3 uid="uid://bd51frym6mm7v"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_psg62"] [ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_psg62"]
[ext_resource type="Script" uid="uid://hyuwsp1b336a" path="res://scripts/components/lever_component.gd" id="2_0p0wb"] [ext_resource type="Script" uid="uid://1oo22ieply7n" path="res://scripts/components/LeverComponent.cs" id="2_a6tw0"]
[ext_resource type="AudioStream" uid="uid://beq14we7v3iw4" path="res://sfx/activate_lever.wav" id="3_gipby"] [ext_resource type="AudioStream" uid="uid://beq14we7v3iw4" path="res://sfx/activate_lever.wav" id="3_gipby"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ke5tv"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_ke5tv"]
@@ -21,12 +21,12 @@ hframes = 12
vframes = 12 vframes = 12
frame = 75 frame = 75
[node name="LeverComponent" type="Node" parent="." node_paths=PackedStringArray("area2d", "sprite2d", "sfx")] [node name="LeverComponent" type="Node" parent="." node_paths=PackedStringArray("Area", "Sprite", "Sfx")]
script = ExtResource("2_0p0wb") script = ExtResource("2_a6tw0")
area2d = NodePath("..") Area = NodePath("..")
sprite2d = NodePath("../Sprite2D") Sprite = NodePath("../Sprite2D")
start_animation_index = 75 StartAnimationIndex = 75
sfx = NodePath("../sfx") Sfx = NodePath("../sfx")
[node name="sfx" type="AudioStreamPlayer2D" parent="."] [node name="sfx" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("3_gipby") stream = ExtResource("3_gipby")

View File

@@ -1,11 +1,11 @@
[gd_scene load_steps=8 format=3 uid="uid://t422jkov2t1b"] [gd_scene load_steps=8 format=3 uid="uid://t422jkov2t1b"]
[ext_resource type="Script" uid="uid://dkmxhjtmu5xlb" path="res://scripts/components/damage_component.gd" id="1_koyoa"] [ext_resource type="Script" uid="uid://2i7p7v135u7c" path="res://scripts/components/DamageComponent.cs" id="1_m14o3"]
[ext_resource type="Script" uid="uid://cdnwrn8v05qhi" path="res://scripts/components/bullet_component.gd" id="2_eru3x"] [ext_resource type="Script" uid="uid://cfw8nbrarex0i" path="res://scripts/components/BulletComponent.cs" id="2_m14o3"]
[ext_resource type="Script" uid="uid://1tnr46o1ib4u" path="res://scripts/components/out_of_screen_component.gd" id="3_m14o3"] [ext_resource type="Script" uid="uid://cs6u3sh68f43j" path="res://scripts/components/OutOfScreenComponent.cs" id="3_m14o3"]
[ext_resource type="Script" uid="uid://cvcnfrr1udco5" path="res://scripts/components/straight_motion_component.gd" id="4_dolct"] [ext_resource type="Script" uid="uid://c7p06t0eax8am" path="res://scripts/components/StraightMotionComponent.cs" id="4_dolct"]
[ext_resource type="Script" uid="uid://873un8agkyja" path="res://scripts/components/launch_component.gd" id="5_eafpt"] [ext_resource type="Script" uid="uid://cbexrnnj47f87" path="res://scripts/components/LaunchComponent.cs" id="5_eafpt"]
[ext_resource type="Script" uid="uid://bvsgg8lu0a8m6" path="res://scripts/components/lifetime_component.gd" id="6_m14o3"] [ext_resource type="Script" uid="uid://oyf25mpc5etr" path="res://scripts/components/LifetimeComponent.cs" id="6_0c45k"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_n4uav"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_n4uav"]
size = Vector2(16, 2) size = Vector2(16, 2)
@@ -14,9 +14,9 @@ size = Vector2(16, 2)
collision_layer = 8 collision_layer = 8
collision_mask = 21 collision_mask = 21
[node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")] [node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("Area")]
script = ExtResource("1_koyoa") script = ExtResource("1_m14o3")
area2d = NodePath("..") Area = NodePath("..")
metadata/_custom_type_script = "uid://dkmxhjtmu5xlb" metadata/_custom_type_script = "uid://dkmxhjtmu5xlb"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
@@ -28,41 +28,31 @@ points = PackedVector2Array(0, 0, 16, 0)
width = 2.0 width = 2.0
default_color = Color(90, 1, 1, 1) default_color = Color(90, 1, 1, 1)
[node name="BulletComponent" type="Node" parent="." node_paths=PackedStringArray("root", "area2d")] [node name="BulletComponent" type="Node" parent="." node_paths=PackedStringArray("Area")]
script = ExtResource("2_eru3x") script = ExtResource("2_m14o3")
root = NodePath("..") Area = NodePath("..")
area2d = NodePath("..")
metadata/_custom_type_script = "uid://cdnwrn8v05qhi" metadata/_custom_type_script = "uid://cdnwrn8v05qhi"
[node name="OutOfScreenComponent" type="Node" parent="." node_paths=PackedStringArray("visibility_notifier", "root")] [node name="OutOfScreenComponent" type="Node" parent="." node_paths=PackedStringArray("VisibilityNotifier")]
script = ExtResource("3_m14o3") script = ExtResource("3_m14o3")
visibility_notifier = NodePath("../VisibleOnScreenNotifier2D") VisibilityNotifier = NodePath("../VisibleOnScreenNotifier2D")
root = NodePath("..")
metadata/_custom_type_script = "uid://1tnr46o1ib4u" metadata/_custom_type_script = "uid://1tnr46o1ib4u"
[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."] [node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."]
position = Vector2(8, 0) position = Vector2(8, 0)
scale = Vector2(0.8, 0.1) scale = Vector2(0.8, 0.1)
[node name="StraightMotionComponent" type="Node" parent="." node_paths=PackedStringArray("root", "launch_component")] [node name="StraightMotionComponent" type="Node" parent="." node_paths=PackedStringArray("LaunchComponent")]
script = ExtResource("4_dolct") script = ExtResource("4_dolct")
root = NodePath("..") LaunchComponent = NodePath("../LaunchComponent")
launch_component = NodePath("../LaunchComponent")
metadata/_custom_type_script = "uid://cvcnfrr1udco5" metadata/_custom_type_script = "uid://cvcnfrr1udco5"
[node name="LaunchComponent" type="Node2D" parent="." node_paths=PackedStringArray("root")] [node name="LaunchComponent" type="Node2D" parent="."]
script = ExtResource("5_eafpt") script = ExtResource("5_eafpt")
root = NodePath("..") Speed = 64.0
speed = 64.0
metadata/_custom_type_script = "uid://873un8agkyja" metadata/_custom_type_script = "uid://873un8agkyja"
[node name="LifetimeComponent" type="Node" parent="." node_paths=PackedStringArray("root", "timer")] [node name="LifetimeComponent" type="Node" parent="."]
script = ExtResource("6_m14o3") script = ExtResource("6_0c45k")
root = NodePath("..") LifeTime = 10.0
life_time = 10.0
timer = NodePath("../Timer")
metadata/_custom_type_script = "uid://bvsgg8lu0a8m6" metadata/_custom_type_script = "uid://bvsgg8lu0a8m6"
[node name="Timer" type="Timer" parent="."]
wait_time = 5.0
autostart = true

View File

@@ -1,8 +1,8 @@
[gd_scene load_steps=6 format=3 uid="uid://t6h2ra7kjyq"] [gd_scene load_steps=6 format=3 uid="uid://t6h2ra7kjyq"]
[ext_resource type="Texture2D" uid="uid://1x4iq56rhc18" path="res://sprites/health_potions.png" id="1_p0sdo"] [ext_resource type="Texture2D" uid="uid://1x4iq56rhc18" path="res://sprites/health_potions.png" id="1_p0sdo"]
[ext_resource type="Script" uid="uid://cegdd1sravi5m" path="res://scripts/components/heal_component.gd" id="2_piwlp"] [ext_resource type="Script" uid="uid://bmx6rk281yim2" path="res://scripts/components/HealComponent.cs" id="2_p0sdo"]
[ext_resource type="Script" uid="uid://pa1bwc4no08q" path="res://scripts/components/collectable.gd" id="3_k2tv6"] [ext_resource type="Script" uid="uid://r4jybneigfcn" path="res://scripts/components/CollectableComponent.cs" id="3_p0sdo"]
[ext_resource type="Resource" uid="uid://2tl3yoh202no" path="res://resources/collectables/small_health_potion.tres" id="4_p0sdo"] [ext_resource type="Resource" uid="uid://2tl3yoh202no" path="res://resources/collectables/small_health_potion.tres" id="4_p0sdo"]
[sub_resource type="CircleShape2D" id="CircleShape2D_uj2v5"] [sub_resource type="CircleShape2D" id="CircleShape2D_uj2v5"]
@@ -20,13 +20,13 @@ texture = ExtResource("1_p0sdo")
hframes = 4 hframes = 4
frame = 1 frame = 1
[node name="HealComponent" type="Node" parent="." node_paths=PackedStringArray("collectable")] [node name="HealComponent" type="Node" parent="." node_paths=PackedStringArray("Collectable")]
script = ExtResource("2_piwlp") script = ExtResource("2_p0sdo")
collectable = NodePath("../CollectableComponent") Collectable = NodePath("../CollectableComponent")
[node name="CollectableComponent" type="Node" parent="." node_paths=PackedStringArray("area2d", "collision_shape")] [node name="CollectableComponent" type="Node" parent="." node_paths=PackedStringArray("Area2D", "CollisionShape")]
script = ExtResource("3_k2tv6") script = ExtResource("3_p0sdo")
area2d = NodePath("..") Area2D = NodePath("..")
collision_shape = NodePath("../CollisionShape2D") CollisionShape = NodePath("../CollisionShape2D")
collectable_data = ExtResource("4_p0sdo") Data = ExtResource("4_p0sdo")
metadata/_custom_type_script = "uid://pa1bwc4no08q" metadata/_custom_type_script = "uid://pa1bwc4no08q"

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=4 format=3 uid="uid://lpovacvt3yyj"] [gd_scene load_steps=4 format=3 uid="uid://lpovacvt3yyj"]
[ext_resource type="Texture2D" uid="uid://dhkwyv6ayb5qb" path="res://sprites/flying_ship.png" id="1_r82pf"] [ext_resource type="Texture2D" uid="uid://dhkwyv6ayb5qb" path="res://sprites/flying_ship.png" id="1_r82pf"]
[ext_resource type="Script" uid="uid://ghb614g22ph7" path="res://scripts/components/spaceship_enter_component.gd" id="2_wanmd"] [ext_resource type="Script" uid="uid://dtv2r7q4elgre" path="res://scripts/components/SpaceshipEnterComponent.cs" id="2_wanmd"]
[sub_resource type="CircleShape2D" id="CircleShape2D_wanmd"] [sub_resource type="CircleShape2D" id="CircleShape2D_wanmd"]
radius = 16.1245 radius = 16.1245
@@ -16,6 +16,6 @@ texture = ExtResource("1_r82pf")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("CircleShape2D_wanmd") shape = SubResource("CircleShape2D_wanmd")
[node name="SpaceshipEnterComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")] [node name="SpaceshipEnterComponent" type="Node" parent="." node_paths=PackedStringArray("Area")]
script = ExtResource("2_wanmd") script = ExtResource("2_wanmd")
area2d = NodePath("..") Area = NodePath("..")

View File

@@ -1,14 +1,14 @@
[gd_scene load_steps=3 format=3 uid="uid://dkqa3q6j2gof4"] [gd_scene load_steps=3 format=3 uid="uid://dkqa3q6j2gof4"]
[ext_resource type="Script" uid="uid://ybmwls7hv8j3" path="res://scripts/components/spaceship_exit_component.gd" id="1_1cmfv"] [ext_resource type="Script" uid="uid://d3gfg05ll8uw3" path="res://scripts/components/SpaceshipExitComponent.cs" id="1_1cmfv"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_njt46"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_njt46"]
[node name="Spaceship exit" type="Area2D" node_paths=PackedStringArray("area2d")] [node name="Spaceship exit" type="Area2D" node_paths=PackedStringArray("Area")]
collision_layer = 0 collision_layer = 0
collision_mask = 4 collision_mask = 4
script = ExtResource("1_1cmfv") script = ExtResource("1_1cmfv")
area2d = NodePath(".") Area = NodePath(".")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_njt46") shape = SubResource("RectangleShape2D_njt46")

View File

@@ -1,8 +1,8 @@
[gd_scene load_steps=5 format=3 uid="uid://buff711j0f2ph"] [gd_scene load_steps=5 format=3 uid="uid://buff711j0f2ph"]
[ext_resource type="Texture2D" uid="uid://ddlwjg81ro1kl" path="res://sprites/spike_trap.png" id="1_xg6e1"] [ext_resource type="Texture2D" uid="uid://ddlwjg81ro1kl" path="res://sprites/spike_trap.png" id="1_xg6e1"]
[ext_resource type="Script" uid="uid://cq26pfxn17s7s" path="res://scripts/components/spin_component.gd" id="2_3d4lc"] [ext_resource type="Script" uid="uid://cqw134ewht3hc" path="res://scripts/components/SpinComponent.cs" id="2_ytlu4"]
[ext_resource type="Script" uid="uid://dkmxhjtmu5xlb" path="res://scripts/components/damage_component.gd" id="3_ytlu4"] [ext_resource type="Script" uid="uid://2i7p7v135u7c" path="res://scripts/components/DamageComponent.cs" id="3_ytlu4"]
[sub_resource type="CircleShape2D" id="CircleShape2D_xg6e1"] [sub_resource type="CircleShape2D" id="CircleShape2D_xg6e1"]
radius = 8.0 radius = 8.0
@@ -17,14 +17,13 @@ texture = ExtResource("1_xg6e1")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("CircleShape2D_xg6e1") shape = SubResource("CircleShape2D_xg6e1")
[node name="SpinComponent" type="Node2D" parent="." node_paths=PackedStringArray("root")] [node name="SpinComponent" type="Node2D" parent="."]
script = ExtResource("2_3d4lc") script = ExtResource("2_ytlu4")
root = NodePath("../Sprite2D") SpinSpeed = 1.0
speed = 1.0
metadata/_custom_type_script = "uid://cq26pfxn17s7s" metadata/_custom_type_script = "uid://cq26pfxn17s7s"
[node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")] [node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("Area")]
script = ExtResource("3_ytlu4") script = ExtResource("3_ytlu4")
damage = 1.0 Damage = 1.0
area2d = NodePath("..") Area = NodePath("..")
metadata/_custom_type_script = "uid://dkmxhjtmu5xlb" metadata/_custom_type_script = "uid://dkmxhjtmu5xlb"

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=7 format=3 uid="uid://073ts5cxtwbl"] [gd_scene load_steps=7 format=3 uid="uid://073ts5cxtwbl"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_uh3ex"] [ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_uh3ex"]
[ext_resource type="Script" uid="uid://pa1bwc4no08q" path="res://scripts/components/collectable.gd" id="2_i1ssp"] [ext_resource type="Script" uid="uid://r4jybneigfcn" path="res://scripts/components/CollectableComponent.cs" id="2_n5rum"]
[ext_resource type="Resource" uid="uid://bws2xldndlre1" path="res://resources/collectables/treasure.tres" id="3_uknsr"] [ext_resource type="Resource" uid="uid://bws2xldndlre1" path="res://resources/collectables/treasure.tres" id="3_uknsr"]
[ext_resource type="Script" uid="uid://bg75hnr3q6grk" path="res://scripts/components/fade_away.gd" id="4_ccbcr"] [ext_resource type="Script" uid="uid://bg75hnr3q6grk" path="res://scripts/components/fade_away.gd" id="4_ccbcr"]
[ext_resource type="AudioStream" uid="uid://d2rj7uy5f0kwm" path="res://sfx/pickup_coin_3.wav" id="5_xt2rk"] [ext_resource type="AudioStream" uid="uid://d2rj7uy5f0kwm" path="res://sfx/pickup_coin_3.wav" id="5_xt2rk"]
@@ -9,7 +9,7 @@
[sub_resource type="CircleShape2D" id="CircleShape2D_3ask2"] [sub_resource type="CircleShape2D" id="CircleShape2D_3ask2"]
radius = 9.0 radius = 9.0
[node name="Treasure" type="Area2D"] [node name="Treasure" type="Area2D" groups=["coins"]]
collision_layer = 2 collision_layer = 2
collision_mask = 4 collision_mask = 4
@@ -22,12 +22,12 @@ hframes = 12
vframes = 12 vframes = 12
frame = 66 frame = 66
[node name="Collectable" type="Node" parent="." node_paths=PackedStringArray("area2d", "collision_shape", "sfx") groups=["coins"]] [node name="CollectableComponent" type="Node" parent="." node_paths=PackedStringArray("Area2D", "CollisionShape", "Sfx")]
script = ExtResource("2_i1ssp") script = ExtResource("2_n5rum")
area2d = NodePath("..") Area2D = NodePath("..")
collision_shape = NodePath("../CollisionShape2D") CollisionShape = NodePath("../CollisionShape2D")
collectable_data = ExtResource("3_uknsr") Data = ExtResource("3_uknsr")
sfx = NodePath("../sfx") Sfx = NodePath("../sfx")
[node name="FadeAwayComponent" type="Node" parent="." node_paths=PackedStringArray("sprite2d", "root", "area2d")] [node name="FadeAwayComponent" type="Node" parent="." node_paths=PackedStringArray("sprite2d", "root", "area2d")]
script = ExtResource("4_ccbcr") script = ExtResource("4_ccbcr")

View File

@@ -1,22 +1,15 @@
[gd_scene load_steps=7 format=3 uid="uid://b4eifkc31jsun"] [gd_scene load_steps=7 format=3 uid="uid://b4eifkc31jsun"]
[ext_resource type="Script" uid="uid://dd30bgqiagi25" path="res://scripts/game_manager.gd" id="1_58t7u"] [ext_resource type="Script" uid="uid://c6eoi3ymefc0x" path="res://Autoloads/GameManager.cs" id="1_t2tr6"]
[ext_resource type="PackedScene" uid="uid://bol7g83v2accs" path="res://scenes/level_village_1.tscn" id="2_bentb"] [ext_resource type="PackedScene" uid="uid://bol7g83v2accs" 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"] [ext_resource type="PackedScene" uid="uid://chqb11pfoqmeb" path="res://scenes/level_village_2.tscn" id="3_ajlkg"]
[ext_resource type="PackedScene" uid="uid://h60obxmju6mo" path="res://scenes/level_village_3.tscn" id="4_se5tb"] [ext_resource type="PackedScene" uid="uid://h60obxmju6mo" path="res://scenes/level_village_3.tscn" id="4_se5tb"]
[ext_resource type="PackedScene" uid="uid://bhad760x3vvco" path="res://scenes/level_village_4.tscn" id="5_mnosh"] [ext_resource type="PackedScene" uid="uid://bhad760x3vvco" path="res://scenes/level_village_4.tscn" id="5_mnosh"]
[ext_resource type="Script" uid="uid://bydv4g1n5s3nf" path="res://scripts/screenshot.gd" id="6_t2tr6"] [ext_resource type="Script" uid="uid://chrhjch4ymfvr" path="res://scripts/Screenshot.cs" id="6_bbtu1"]
[node name="GameManager" type="Node"] [node name="GameManager" type="Node"]
script = ExtResource("1_58t7u") script = ExtResource("1_t2tr6")
level_scenes = Array[PackedScene]([ExtResource("2_bentb"), ExtResource("3_ajlkg"), ExtResource("4_se5tb"), ExtResource("5_mnosh")]) LevelScenes = Array[PackedScene]([ExtResource("2_bentb"), ExtResource("3_ajlkg"), ExtResource("4_se5tb"), ExtResource("5_mnosh")])
player_state = {
"coins": 0,
"current_level": 0,
"lives": 3,
"unlocked_levels": [ExtResource("4_se5tb")],
"unlocked_skills": []
}
[node name="Node" type="Node" parent="."] [node name="Screenshot" type="Node" parent="."]
script = ExtResource("6_t2tr6") script = ExtResource("6_bbtu1")

View File

@@ -1,10 +1,9 @@
[gd_scene load_steps=21 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://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"] [ext_resource type="PackedScene" uid="uid://bqi5s710xb1ju" path="res://objects/entities/brick_player.tscn" id="1_lbnsn"]
[ext_resource type="PackedScene" uid="uid://6foggu31cu14" path="res://objects/level/ui_layer.tscn" id="2_lbnsn"] [ext_resource type="PackedScene" uid="uid://6foggu31cu14" path="res://objects/level/ui_layer.tscn" id="2_lbnsn"]
[ext_resource type="PackedScene" uid="uid://cywsu7yrtjdog" path="res://objects/level/global_light.tscn" id="3_3732a"] [ext_resource type="PackedScene" uid="uid://cywsu7yrtjdog" path="res://objects/level/global_light.tscn" id="3_3732a"]
[ext_resource type="Resource" uid="uid://cqtalsov2bkpo" path="res://resources/levels/village/village_1.tres" id="4_c2yv5"]
[ext_resource type="PackedScene" uid="uid://cb0mnye1ki5a6" path="res://objects/level/camera_2d.tscn" id="5_517ha"] [ext_resource type="PackedScene" uid="uid://cb0mnye1ki5a6" path="res://objects/level/camera_2d.tscn" id="5_517ha"]
[ext_resource type="Script" uid="uid://d23haq52m7ulv" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="6_6imqp"] [ext_resource type="Script" uid="uid://d23haq52m7ulv" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="6_6imqp"]
[ext_resource type="Script" uid="uid://ccfft4b8rwgbo" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="7_kl81p"] [ext_resource type="Script" uid="uid://ccfft4b8rwgbo" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="7_kl81p"]
@@ -12,7 +11,6 @@
[ext_resource type="TileSet" uid="uid://cu2sx7qigrqnv" path="res://resources/tilesets/village/terain.tres" id="9_etwin"] [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://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="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"]
[ext_resource type="PackedScene" uid="uid://bqom4cm7r18db" path="res://objects/entities/killzone.tscn" id="13_0vx27"] [ext_resource type="PackedScene" uid="uid://bqom4cm7r18db" path="res://objects/entities/killzone.tscn" id="13_0vx27"]
[sub_resource type="Gradient" id="Gradient_qb72p"] [sub_resource type="Gradient" id="Gradient_qb72p"]
@@ -62,17 +60,6 @@ process_material = SubResource("ParticleProcessMaterial_lgb3u")
[node name="UI Layer" parent="." instance=ExtResource("2_lbnsn")] [node name="UI Layer" parent="." instance=ExtResource("2_lbnsn")]
[node name="HUD" parent="UI Layer" index="0" node_paths=PackedStringArray("player_health")]
player_health = NodePath("../../Brick Player/HealthComponent")
[node name="DeathScreen" parent="UI Layer" index="1" node_paths=PackedStringArray("nodes_to_disable")]
current_level = ExtResource("4_c2yv5")
nodes_to_disable = [NodePath("../../Brick Player")]
[node name="Marketplace" parent="UI Layer" index="3" node_paths=PackedStringArray("skill_unlocker", "components_to_disable")]
skill_unlocker = NodePath("../../Brick Player/SkillUnlockerComponent")
components_to_disable = [NodePath("../../Brick Player")]
[node name="Global Light" parent="." instance=ExtResource("3_3732a")] [node name="Global Light" parent="." instance=ExtResource("3_3732a")]
[node name="Camera2D" parent="." instance=ExtResource("5_517ha")] [node name="Camera2D" parent="." instance=ExtResource("5_517ha")]
@@ -106,18 +93,10 @@ tile_set = ExtResource("10_8xrv5")
[node name="Foreground layer" type="TileMapLayer" parent="."] [node name="Foreground layer" type="TileMapLayer" parent="."]
tile_set = ExtResource("11_0vx27") 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"
[node name="Killzone" parent="." instance=ExtResource("13_0vx27")] [node name="Killzone" parent="." instance=ExtResource("13_0vx27")]
position = Vector2(215, 324) position = Vector2(215, 324)
[connection signal="on_death" from="Brick Player/HealthComponent" to="UI Layer/DeathScreen" method="on_player_death"] [connection signal="Death" from="Brick Player/HealthComponent" to="UI Layer/DeathScreen" method="OnPlayerDeath"]
[connection signal="on_death" from="Brick Player/HealthComponent" to="UI Layer/GameOverScreen" method="on_player_death"]
[editable path="Brick Player"] [editable path="Brick Player"]
[editable path="UI Layer"] [editable path="UI Layer"]

View File

@@ -1,8 +1,7 @@
[gd_scene load_steps=11 format=3 uid="uid://6foggu31cu14"] [gd_scene load_steps=9 format=3 uid="uid://6foggu31cu14"]
[ext_resource type="PackedScene" uid="uid://byxf45ukq82pe" path="res://objects/ui/hud.tscn" id="1_tgtfe"] [ext_resource type="PackedScene" uid="uid://byxf45ukq82pe" path="res://objects/ui/hud.tscn" id="1_tgtfe"]
[ext_resource type="PackedScene" uid="uid://dulkm3ah4tm0u" path="res://objects/ui/death_screen.tscn" id="2_ln68j"] [ext_resource type="PackedScene" uid="uid://dulkm3ah4tm0u" path="res://objects/ui/death_screen.tscn" id="2_ln68j"]
[ext_resource type="Script" uid="uid://cp68km8bykymb" path="res://scripts/resources/level_resource.gd" id="3_5kt5k"]
[ext_resource type="PackedScene" uid="uid://wmw6gaisyrvx" path="res://objects/ui/game_over_screen.tscn" id="4_11xmk"] [ext_resource type="PackedScene" uid="uid://wmw6gaisyrvx" path="res://objects/ui/game_over_screen.tscn" id="4_11xmk"]
[ext_resource type="PackedScene" uid="uid://dlm2ri562fynd" path="res://objects/ui/marketplace.tscn" id="5_8e0cs"] [ext_resource type="PackedScene" uid="uid://dlm2ri562fynd" path="res://objects/ui/marketplace.tscn" id="5_8e0cs"]
[ext_resource type="PackedScene" uid="uid://i6mnjbjcoqe5" path="res://objects/ui/pause_menu.tscn" id="6_1q4vn"] [ext_resource type="PackedScene" uid="uid://i6mnjbjcoqe5" path="res://objects/ui/pause_menu.tscn" id="6_1q4vn"]
@@ -10,38 +9,26 @@
[ext_resource type="PackedScene" uid="uid://cvfsbiy5ggrpg" path="res://objects/ui/input_settings.tscn" id="8_6pnu3"] [ext_resource type="PackedScene" uid="uid://cvfsbiy5ggrpg" path="res://objects/ui/input_settings.tscn" id="8_6pnu3"]
[ext_resource type="PackedScene" uid="uid://b5fx1vdfky307" path="res://objects/ui/audio_settings.tscn" id="9_ln68j"] [ext_resource type="PackedScene" uid="uid://b5fx1vdfky307" path="res://objects/ui/audio_settings.tscn" id="9_ln68j"]
[sub_resource type="Resource" id="Resource_75pfo"]
script = ExtResource("3_5kt5k")
level_name = "Village - 1"
scene_path = ""
metadata/_custom_type_script = "uid://cp68km8bykymb"
[node name="UI Layer" type="CanvasLayer"] [node name="UI Layer" type="CanvasLayer"]
[node name="HUD" parent="." instance=ExtResource("1_tgtfe")] [node name="HUD" parent="." instance=ExtResource("1_tgtfe")]
[node name="DeathScreen" parent="." node_paths=PackedStringArray("nodes_to_disable") instance=ExtResource("2_ln68j")] [node name="DeathScreen" parent="." instance=ExtResource("2_ln68j")]
visible = false visible = false
offset_top = 32.0 offset_top = 32.0
current_level = SubResource("Resource_75pfo")
nodes_to_disable = [null]
[node name="GameOverScreen" parent="." instance=ExtResource("4_11xmk")] [node name="GameOverScreen" parent="." instance=ExtResource("4_11xmk")]
visible = false visible = false
[node name="Marketplace" parent="." node_paths=PackedStringArray("components_to_disable") instance=ExtResource("5_8e0cs")] [node name="Marketplace" parent="." instance=ExtResource("5_8e0cs")]
visible = false visible = false
offset_top = 32.0 offset_top = 32.0
components_to_disable = [null]
[node name="Pause menu" parent="." node_paths=PackedStringArray("settings_menu") instance=ExtResource("6_1q4vn")] [node name="Pause menu" parent="." instance=ExtResource("6_1q4vn")]
visible = false visible = false
settings_menu = NodePath("../Settings menu")
[node name="Settings menu" parent="." node_paths=PackedStringArray("input_settings", "audio_settings") instance=ExtResource("7_hkjav")] [node name="Settings menu" parent="." instance=ExtResource("7_hkjav")]
visible = false visible = false
input_settings = NodePath("../Input Settings")
audio_settings = NodePath("../Audio settings")
[node name="Input Settings" parent="." instance=ExtResource("8_6pnu3")] [node name="Input Settings" parent="." instance=ExtResource("8_6pnu3")]
visible = false visible = false

View File

@@ -1,6 +1,6 @@
[gd_scene load_steps=5 format=3 uid="uid://b4pdt1gv2ymyi"] [gd_scene load_steps=5 format=3 uid="uid://b4pdt1gv2ymyi"]
[ext_resource type="Script" uid="uid://bsq5pplxqbssh" path="res://scripts/components/tooltip_component.gd" id="1_kkpqq"] [ext_resource type="Script" uid="uid://cvaa6aqyijcp1" path="res://scripts/components/TooltipComponent.cs" id="1_aw8h8"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_yy7uq"] [ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_yy7uq"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_hkd8b"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_hkd8b"]
@@ -9,13 +9,13 @@ size = Vector2(38, 22)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_lqw6h"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_lqw6h"]
bg_color = Color(0, 0, 0, 1) bg_color = Color(0, 0, 0, 1)
[node name="Tooltip" type="Area2D" node_paths=PackedStringArray("area2d", "ui_root", "tooltip_label")] [node name="Tooltip" type="Area2D" node_paths=PackedStringArray("Area", "UiRoot", "TooltipLabel")]
collision_layer = 0 collision_layer = 0
collision_mask = 4 collision_mask = 4
script = ExtResource("1_kkpqq") script = ExtResource("1_aw8h8")
area2d = NodePath(".") Area = NodePath(".")
ui_root = NodePath("Panel") UiRoot = NodePath("Panel")
tooltip_label = NodePath("Panel/PanelContainer/Label") TooltipLabel = NodePath("Panel/PanelContainer/Label")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(1, -3) position = Vector2(1, -3)

View File

@@ -1,11 +1,11 @@
[gd_scene load_steps=3 format=3 uid="uid://b5fx1vdfky307"] [gd_scene load_steps=3 format=3 uid="uid://b5fx1vdfky307"]
[ext_resource type="Script" uid="uid://dujk6pnftm7ra" path="res://scripts/ui/audio_settings.gd" id="1_g522b"] [ext_resource type="Script" uid="uid://g61qqsymqfxd" path="res://scripts/UI/AudioSettings.cs" id="1_g522b"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_g4ivv"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_g4ivv"]
bg_color = Color(0, 0, 0, 1) bg_color = Color(0, 0, 0, 1)
[node name="Audio settings" type="Control" node_paths=PackedStringArray("master_volume_slider", "music_volume_slider", "sfx_volume_slider", "audio_settings_control")] [node name="Audio settings" type="Control" node_paths=PackedStringArray("MasterVolumeSlider", "MusicVolumeSlider", "SfxVolumeSlider", "AudioSettingsControl")]
layout_mode = 3 layout_mode = 3
anchors_preset = 15 anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
@@ -15,10 +15,10 @@ grow_vertical = 2
size_flags_horizontal = 6 size_flags_horizontal = 6
size_flags_vertical = 6 size_flags_vertical = 6
script = ExtResource("1_g522b") script = ExtResource("1_g522b")
master_volume_slider = NodePath("PanelContainer/MarginContainer/VBoxContainer/Master volume/HSlider") MasterVolumeSlider = NodePath("PanelContainer/MarginContainer/VBoxContainer/Master volume/HSlider")
music_volume_slider = NodePath("PanelContainer/MarginContainer/VBoxContainer/Music volume/HSlider") MusicVolumeSlider = NodePath("PanelContainer/MarginContainer/VBoxContainer/Music volume/HSlider")
sfx_volume_slider = NodePath("PanelContainer/MarginContainer/VBoxContainer/SFX volume/HSlider") SfxVolumeSlider = NodePath("PanelContainer/MarginContainer/VBoxContainer/SFX volume/HSlider")
audio_settings_control = NodePath(".") AudioSettingsControl = NodePath(".")
[node name="PanelContainer" type="PanelContainer" parent="."] [node name="PanelContainer" type="PanelContainer" parent="."]
layout_mode = 1 layout_mode = 1

View File

@@ -1,6 +1,6 @@
[gd_scene load_steps=4 format=3 uid="uid://bg76mtpcmfm2j"] [gd_scene load_steps=4 format=3 uid="uid://bg76mtpcmfm2j"]
[ext_resource type="Script" uid="uid://q32rtephu1t1" path="res://scripts/ui/charge_progress_bar.gd" id="1_014ut"] [ext_resource type="Script" uid="uid://dev2q1228otm2" path="res://scripts/UI/ChargeProgressBar.cs" id="1_014ut"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_arbva"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_arbva"]
bg_color = Color(0, 0, 0, 1) bg_color = Color(0, 0, 0, 1)
@@ -8,10 +8,10 @@ bg_color = Color(0, 0, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_014ut"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_014ut"]
bg_color = Color(0.921569, 0.827451, 0.12549, 1) bg_color = Color(0.921569, 0.827451, 0.12549, 1)
[node name="ProgressBar" type="ProgressBar" node_paths=PackedStringArray("progress_bar")] [node name="ProgressBar" type="ProgressBar" node_paths=PackedStringArray("ProgressBar")]
offset_right = 40.0 offset_right = 40.0
offset_bottom = 10.0 offset_bottom = 10.0
theme_override_styles/background = SubResource("StyleBoxFlat_arbva") theme_override_styles/background = SubResource("StyleBoxFlat_arbva")
theme_override_styles/fill = SubResource("StyleBoxFlat_014ut") theme_override_styles/fill = SubResource("StyleBoxFlat_014ut")
script = ExtResource("1_014ut") script = ExtResource("1_014ut")
progress_bar = NodePath(".") ProgressBar = NodePath(".")

View File

@@ -1,6 +1,6 @@
[gd_scene load_steps=3 format=3 uid="uid://bwgmrcyj4mvu"] [gd_scene load_steps=3 format=3 uid="uid://bwgmrcyj4mvu"]
[ext_resource type="Script" uid="uid://dtjgndehihl6d" path="res://scripts/ui/credits.gd" id="1_3aqj3"] [ext_resource type="Script" uid="uid://daevj4uootmcw" path="res://scripts/UI/Credits.cs" id="1_3aqj3"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_g4ivv"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_g4ivv"]
bg_color = Color(0, 0, 0, 1) bg_color = Color(0, 0, 0, 1)

View File

@@ -1,12 +1,12 @@
[gd_scene load_steps=4 format=3 uid="uid://dulkm3ah4tm0u"] [gd_scene load_steps=4 format=3 uid="uid://dulkm3ah4tm0u"]
[ext_resource type="Script" uid="uid://b3d1p21sviww4" path="res://scripts/ui/death_screen.gd" id="1_eaoak"] [ext_resource type="Script" uid="uid://csprksav8mj1h" path="res://scripts/UI/DeathScreen.cs" id="1_eaoak"]
[ext_resource type="Texture2D" uid="uid://jix7wdn0isr3" path="res://sprites/ppc_icon.png" id="1_m30em"] [ext_resource type="Texture2D" uid="uid://jix7wdn0isr3" path="res://sprites/ppc_icon.png" id="1_m30em"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_eaoak"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_eaoak"]
bg_color = Color(0, 0, 0, 1) bg_color = Color(0, 0, 0, 1)
[node name="DeathScreen" type="Control" node_paths=PackedStringArray("death_screen_root", "current_level_label", "lives_left_label")] [node name="DeathScreen" type="Control" node_paths=PackedStringArray("CurrentLevelLabel", "LivesLeftLabel")]
layout_mode = 3 layout_mode = 3
anchors_preset = 15 anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
@@ -14,9 +14,8 @@ anchor_bottom = 1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
script = ExtResource("1_eaoak") script = ExtResource("1_eaoak")
death_screen_root = NodePath(".") CurrentLevelLabel = NodePath("PanelContainer/MarginContainer/VBoxContainer/LevelName")
current_level_label = NodePath("PanelContainer/MarginContainer/VBoxContainer/LevelName") LivesLeftLabel = NodePath("PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/LivesLeft")
lives_left_label = NodePath("PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/LivesLeft")
[node name="PanelContainer" type="PanelContainer" parent="."] [node name="PanelContainer" type="PanelContainer" parent="."]
layout_mode = 1 layout_mode = 1

View File

@@ -1,21 +1,23 @@
[gd_scene load_steps=3 format=3 uid="uid://wmw6gaisyrvx"] [gd_scene load_steps=4 format=3 uid="uid://wmw6gaisyrvx"]
[ext_resource type="Script" uid="uid://bkd7o2u4psu4p" path="res://scripts/ui/game_over_screen.gd" id="1_v1o0m"] [ext_resource type="Script" uid="uid://u4qfsx4w72dv" path="res://scripts/UI/GameOverScreen.cs" id="1_w4aho"]
[ext_resource type="PackedScene" uid="uid://cl00e2ocomk3m" path="res://scenes/main_menu.tscn" id="2_brh6h"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_mtg1b"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_mtg1b"]
bg_color = Color(0, 0, 0, 1) bg_color = Color(0, 0, 0, 1)
[node name="GameOverScreen" type="Control" node_paths=PackedStringArray("game_over_screen", "restart_button", "main_menu_button")] [node name="GameOverScreen" type="Control" node_paths=PackedStringArray("GameOverPanel", "RestartButton", "MainMenuButton")]
layout_mode = 3 layout_mode = 3
anchors_preset = 15 anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
script = ExtResource("1_v1o0m") script = ExtResource("1_w4aho")
game_over_screen = NodePath(".") GameOverPanel = NodePath(".")
restart_button = NodePath("PanelContainer/MarginContainer/VBoxContainer/RestartLevelButton") RestartButton = NodePath("PanelContainer/MarginContainer/VBoxContainer/RestartLevelButton")
main_menu_button = NodePath("PanelContainer/MarginContainer/VBoxContainer/MenuButton") MainMenuButton = NodePath("PanelContainer/MarginContainer/VBoxContainer/MenuButton")
MainMenuScene = ExtResource("2_brh6h")
[node name="PanelContainer" type="PanelContainer" parent="."] [node name="PanelContainer" type="PanelContainer" parent="."]
layout_mode = 1 layout_mode = 1

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=8 format=3 uid="uid://byxf45ukq82pe"] [gd_scene load_steps=8 format=3 uid="uid://byxf45ukq82pe"]
[ext_resource type="LabelSettings" uid="uid://rvn5ivivfvv6" path="res://resources/ui/hud_label_settings.tres" id="1_4dsh5"] [ext_resource type="LabelSettings" uid="uid://rvn5ivivfvv6" path="res://resources/ui/hud_label_settings.tres" id="1_4dsh5"]
[ext_resource type="Script" uid="uid://c3pde84b3kdco" path="res://scripts/ui/hud.gd" id="1_ueofj"] [ext_resource type="Script" uid="uid://wfj674u4486f" path="res://scripts/UI/Hud.cs" id="1_lscdw"]
[ext_resource type="FontFile" uid="uid://xm0vbusjr7b7" path="res://fonts/PressStart2P-Regular.ttf" id="1_ygmwt"] [ext_resource type="FontFile" uid="uid://xm0vbusjr7b7" path="res://fonts/PressStart2P-Regular.ttf" id="1_ygmwt"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_mmcdi"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_mmcdi"]
@@ -16,7 +16,7 @@ bg_color = Color(0.47451, 0.47451, 0.47451, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_22dp1"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_22dp1"]
bg_color = Color(0.858824, 0.254902, 0.380392, 1) bg_color = Color(0.858824, 0.254902, 0.380392, 1)
[node name="HUD" type="Control" node_paths=PackedStringArray("coins_label", "health_progressbar", "lives_label")] [node name="HUD" type="Control" node_paths=PackedStringArray("CoinsLabel", "HealthBar", "LivesLabel")]
layout_mode = 3 layout_mode = 3
anchors_preset = 15 anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
@@ -25,10 +25,10 @@ grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
size_flags_horizontal = 4 size_flags_horizontal = 4
size_flags_vertical = 4 size_flags_vertical = 4
script = ExtResource("1_ueofj") script = ExtResource("1_lscdw")
coins_label = NodePath("PanelContainer/MarginContainer/HBoxContainer/Coins label") CoinsLabel = NodePath("PanelContainer/MarginContainer/HBoxContainer/Coins label")
health_progressbar = NodePath("PanelContainer/MarginContainer/HBoxContainer/ProgressBar") HealthBar = NodePath("PanelContainer/MarginContainer/HBoxContainer/ProgressBar")
lives_label = NodePath("PanelContainer/MarginContainer/HBoxContainer/Lives") LivesLabel = NodePath("PanelContainer/MarginContainer/HBoxContainer/Lives")
[node name="PanelContainer" type="PanelContainer" parent="."] [node name="PanelContainer" type="PanelContainer" parent="."]
layout_mode = 1 layout_mode = 1

View File

@@ -1,21 +1,17 @@
[gd_scene load_steps=4 format=3 uid="uid://cvfsbiy5ggrpg"] [gd_scene load_steps=3 format=3 uid="uid://cvfsbiy5ggrpg"]
[ext_resource type="PackedScene" uid="uid://bxpr4m7lq7clh" path="res://objects/ui/input_button.tscn" id="1_h8s4o"] [ext_resource type="PackedScene" uid="uid://bxpr4m7lq7clh" path="res://objects/ui/input_button.tscn" id="1_h8s4o"]
[ext_resource type="Script" uid="uid://dppwl7xie2mh" path="res://scripts/ui/input_settings.gd" id="1_v2gus"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_se25o"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_se25o"]
bg_color = Color(0, 0, 0, 1) bg_color = Color(0, 0, 0, 1)
[node name="Input Settings" type="Control" node_paths=PackedStringArray("action_list", "reset_to_default_button")] [node name="Input Settings" type="Control"]
layout_mode = 3 layout_mode = 3
anchors_preset = 15 anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
script = ExtResource("1_v2gus")
action_list = NodePath("PanelContainer/MarginContainer/VBoxContainer/ScrollContainer/Actions")
reset_to_default_button = NodePath("PanelContainer/MarginContainer/VBoxContainer/Reset to default Button")
[node name="PanelContainer" type="PanelContainer" parent="."] [node name="PanelContainer" type="PanelContainer" parent="."]
layout_mode = 1 layout_mode = 1

View File

@@ -1,11 +1,11 @@
[gd_scene load_steps=3 format=3 uid="uid://8b6ol5sssbgo"] [gd_scene load_steps=3 format=3 uid="uid://8b6ol5sssbgo"]
[ext_resource type="Script" uid="uid://hyfvthdbgjbc" path="res://scripts/ui/main_menu.gd" id="1_epxpl"] [ext_resource type="Script" uid="uid://bna3ggr6n7ycr" path="res://scripts/UI/MainMenu.cs" id="1_epxpl"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_qv2q0"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_qv2q0"]
bg_color = Color(0, 0, 0, 1) bg_color = Color(0, 0, 0, 1)
[node name="MainMenu" type="Control" node_paths=PackedStringArray("main_menu_control", "new_game_button", "continue_button", "settings_button", "credits_button", "exit_button", "version_label")] [node name="MainMenu" type="Control" node_paths=PackedStringArray("MainMenuControl", "NewGameButton", "ContinueButton", "SettingsButton", "CreditsButton", "ExitButton", "VersionLabel")]
layout_mode = 3 layout_mode = 3
anchors_preset = 15 anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
@@ -13,13 +13,13 @@ anchor_bottom = 1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
script = ExtResource("1_epxpl") script = ExtResource("1_epxpl")
main_menu_control = NodePath(".") MainMenuControl = NodePath(".")
new_game_button = NodePath("PanelContainer/MarginContainer/VBoxContainer/NewGameButton") NewGameButton = NodePath("PanelContainer/MarginContainer/VBoxContainer/NewGameButton")
continue_button = NodePath("PanelContainer/MarginContainer/VBoxContainer/ContinueButton") ContinueButton = NodePath("PanelContainer/MarginContainer/VBoxContainer/ContinueButton")
settings_button = NodePath("PanelContainer/MarginContainer/VBoxContainer/SettingsButton") SettingsButton = NodePath("PanelContainer/MarginContainer/VBoxContainer/SettingsButton")
credits_button = NodePath("PanelContainer/MarginContainer/VBoxContainer/CreditsButton") CreditsButton = NodePath("PanelContainer/MarginContainer/VBoxContainer/CreditsButton")
exit_button = NodePath("PanelContainer/MarginContainer/VBoxContainer/QuitButton") ExitButton = NodePath("PanelContainer/MarginContainer/VBoxContainer/QuitButton")
version_label = NodePath("PanelContainer/MarginContainer/VBoxContainer/version") VersionLabel = NodePath("PanelContainer/MarginContainer/VBoxContainer/VersionLabel")
[node name="PanelContainer" type="PanelContainer" parent="."] [node name="PanelContainer" type="PanelContainer" parent="."]
layout_mode = 1 layout_mode = 1
@@ -41,7 +41,7 @@ theme_override_constants/margin_bottom = 32
layout_mode = 2 layout_mode = 2
theme_override_constants/separation = 16 theme_override_constants/separation = 16
[node name="Label" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer"] [node name="TitleLabel" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2 layout_mode = 2
text = "GAME_TITLE" text = "GAME_TITLE"
horizontal_alignment = 1 horizontal_alignment = 1
@@ -77,7 +77,7 @@ layout_mode = 2
text = "QUIT_BUTTON" text = "QUIT_BUTTON"
flat = true flat = true
[node name="version" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer"] [node name="VersionLabel" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2 layout_mode = 2
size_flags_horizontal = 0 size_flags_horizontal = 0
size_flags_vertical = 8 size_flags_vertical = 8

View File

@@ -1,34 +1,26 @@
[gd_scene load_steps=12 format=3 uid="uid://dlm2ri562fynd"] [gd_scene load_steps=6 format=3 uid="uid://dlm2ri562fynd"]
[ext_resource type="Script" uid="uid://duifmqjarjpuv" path="res://scripts/ui/marketplace.gd" id="1_ncpyg"] [ext_resource type="Script" uid="uid://bnc16gndpl87i" path="res://scripts/UI/Marketplace.cs" id="1_li4x3"]
[ext_resource type="FontFile" uid="uid://xm0vbusjr7b7" path="res://fonts/PressStart2P-Regular.ttf" id="2_ho1tm"] [ext_resource type="FontFile" uid="uid://xm0vbusjr7b7" path="res://fonts/PressStart2P-Regular.ttf" id="2_ho1tm"]
[ext_resource type="Script" uid="uid://bya240e627ti6" path="res://scripts/resources/skill_data.gd" id="2_pg4mc"]
[ext_resource type="Resource" uid="uid://dw5ee2lpeypnb" path="res://resources/skills/brick_throw.tres" id="3_bk5yi"]
[ext_resource type="Resource" uid="uid://cdp8sex36vdq2" path="res://resources/skills/explosive_brick.tres" id="4_tx0n3"]
[ext_resource type="Resource" uid="uid://2glvryih82t1" path="res://resources/skills/fire_brick.tres" id="5_fqx8e"]
[ext_resource type="Resource" uid="uid://cx5fsbexblp60" path="res://resources/skills/ice_brick.tres" id="6_6665y"]
[ext_resource type="Resource" uid="uid://d3bjre2etov1n" path="res://resources/skills/magnetic.tres" id="7_ukny6"]
[ext_resource type="PackedScene" uid="uid://dtl03rod7l2t0" path="res://objects/ui/marketplace_button.tscn" id="9_ode10"] [ext_resource type="PackedScene" uid="uid://dtl03rod7l2t0" path="res://objects/ui/marketplace_button.tscn" id="9_ode10"]
[ext_resource type="PackedScene" uid="uid://ceqjwmihj70lt" path="res://objects/ui/skill_button.tscn" id="10_c7w2b"] [ext_resource type="PackedScene" uid="uid://ceqjwmihj70lt" path="res://objects/ui/skill_button.tscn" id="10_c7w2b"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ode10"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ode10"]
bg_color = Color(0, 0, 0, 1) bg_color = Color(0, 0, 0, 1)
[node name="Marketplace" type="Control" node_paths=PackedStringArray("root", "to_unlock_grid", "unlocked_grid")] [node name="Marketplace" type="Control" node_paths=PackedStringArray("ToUnlockGrid", "UnlockedGrid")]
layout_mode = 3 layout_mode = 3
anchors_preset = 15 anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
script = ExtResource("1_ncpyg") script = ExtResource("1_li4x3")
root = NodePath(".") ToUnlockGrid = NodePath("PanelContainer/MarginContainer/VBoxContainer/ToUnlockGridContainer")
skill_data = Array[ExtResource("2_pg4mc")]([ExtResource("3_bk5yi"), ExtResource("4_tx0n3"), ExtResource("5_fqx8e"), ExtResource("6_6665y"), ExtResource("7_ukny6")]) UnlockedGrid = NodePath("PanelContainer/MarginContainer/VBoxContainer/UnlockedGridContainer")
to_unlock_grid = NodePath("PanelContainer/MarginContainer/VBoxContainer/ToUnlockGridContainer") Font = ExtResource("2_ho1tm")
unlocked_grid = NodePath("PanelContainer/MarginContainer/VBoxContainer/UnlockedGridContainer") MarketplaceButtonScene = ExtResource("9_ode10")
font = ExtResource("2_ho1tm") SkillButtonScene = ExtResource("10_c7w2b")
marketplace_button = ExtResource("9_ode10")
skill_button = ExtResource("10_c7w2b")
[node name="PanelContainer" type="PanelContainer" parent="."] [node name="PanelContainer" type="PanelContainer" parent="."]
layout_mode = 1 layout_mode = 1

View File

@@ -1,11 +1,9 @@
[gd_scene load_steps=5 format=3 uid="uid://dtl03rod7l2t0"] [gd_scene load_steps=3 format=3 uid="uid://dtl03rod7l2t0"]
[ext_resource type="Texture2D" uid="uid://cvhoq7aubxlmq" path="res://sprites/ui/magnetic_skill_icon.png" id="1_5kqfg"] [ext_resource type="Texture2D" uid="uid://cvhoq7aubxlmq" path="res://sprites/ui/magnetic_skill_icon.png" id="1_5kqfg"]
[ext_resource type="Script" uid="uid://dx8lex40lotr5" path="res://scripts/ui/marketplace_button.gd" id="2_ulgvb"] [ext_resource type="Script" uid="uid://vokgv56bjpf1" path="res://scripts/UI/MarketplaceButton.cs" id="2_vb2qn"]
[ext_resource type="Texture2D" uid="uid://52adghxscdgy" path="res://sprites/locked_skill.png" id="2_vb2qn"]
[ext_resource type="Texture2D" uid="uid://rucyqmgrdld3" path="res://sprites/unlocked_skill.png" id="3_guyun"]
[node name="MarketplaceButton" type="Button" node_paths=PackedStringArray("skill_level_container")] [node name="MarketplaceButton" type="Button" node_paths=PackedStringArray("SkillLevelContainer")]
offset_right = 8.0 offset_right = 8.0
offset_bottom = 8.0 offset_bottom = 8.0
size_flags_horizontal = 3 size_flags_horizontal = 3
@@ -15,10 +13,8 @@ text = "Fire brick 100"
icon = ExtResource("1_5kqfg") icon = ExtResource("1_5kqfg")
flat = true flat = true
autowrap_mode = 2 autowrap_mode = 2
script = ExtResource("2_ulgvb") script = ExtResource("2_vb2qn")
unlocked_skill_icon = ExtResource("3_guyun") SkillLevelContainer = NodePath("HBoxContainer")
locked_skill_icon = ExtResource("2_vb2qn")
skill_level_container = NodePath("HBoxContainer")
[node name="HBoxContainer" type="HBoxContainer" parent="."] [node name="HBoxContainer" type="HBoxContainer" parent="."]
layout_mode = 1 layout_mode = 1

View File

@@ -1,12 +1,12 @@
[gd_scene load_steps=4 format=3 uid="uid://i6mnjbjcoqe5"] [gd_scene load_steps=4 format=3 uid="uid://i6mnjbjcoqe5"]
[ext_resource type="Script" uid="uid://cugifchx6jhuk" path="res://scripts/ui/pause_menu.gd" id="1_aktha"] [ext_resource type="Script" uid="uid://cakgxndurgfa3" path="res://scripts/UI/PauseMenu.cs" id="1_h4pd5"]
[ext_resource type="PackedScene" uid="uid://cl00e2ocomk3m" path="res://scenes/main_menu.tscn" id="2_h4pd5"] [ext_resource type="PackedScene" uid="uid://cl00e2ocomk3m" path="res://scenes/main_menu.tscn" id="2_h4pd5"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_g4ivv"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_g4ivv"]
bg_color = Color(0, 0, 0, 1) bg_color = Color(0, 0, 0, 1)
[node name="Pause menu" type="Control" node_paths=PackedStringArray("pause_menu_control", "resume_button", "quit_button", "settings_button", "exit_to_menu_button")] [node name="Pause menu" type="Control" node_paths=PackedStringArray("PauseMenuControl", "ResumeButton", "MainMenuButton", "QuitButton", "SettingsButton")]
layout_mode = 3 layout_mode = 3
anchors_preset = 15 anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
@@ -15,13 +15,13 @@ grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
size_flags_horizontal = 6 size_flags_horizontal = 6
size_flags_vertical = 6 size_flags_vertical = 6
script = ExtResource("1_aktha") script = ExtResource("1_h4pd5")
pause_menu_control = NodePath(".") PauseMenuControl = NodePath(".")
resume_button = NodePath("PanelContainer/MarginContainer/VBoxContainer/Resume Button") ResumeButton = NodePath("PanelContainer/MarginContainer/VBoxContainer/Resume Button")
quit_button = NodePath("PanelContainer/MarginContainer/VBoxContainer/Quit game Button") MainMenuButton = NodePath("PanelContainer/MarginContainer/VBoxContainer/Exit to menu Button")
settings_button = NodePath("PanelContainer/MarginContainer/VBoxContainer/Settings Button") QuitButton = NodePath("PanelContainer/MarginContainer/VBoxContainer/Quit game Button")
exit_to_menu_button = NodePath("PanelContainer/MarginContainer/VBoxContainer/Exit to menu Button") SettingsButton = NodePath("PanelContainer/MarginContainer/VBoxContainer/Settings Button")
exit_to_menu_scene = ExtResource("2_h4pd5") MainMenuScene = ExtResource("2_h4pd5")
[node name="PanelContainer" type="PanelContainer" parent="."] [node name="PanelContainer" type="PanelContainer" parent="."]
layout_mode = 1 layout_mode = 1

View File

@@ -1,11 +1,11 @@
[gd_scene load_steps=3 format=3 uid="uid://y0ae6e7t70fj"] [gd_scene load_steps=3 format=3 uid="uid://y0ae6e7t70fj"]
[ext_resource type="Script" uid="uid://c506rigcjlm6x" path="res://scripts/ui/settings_menu.gd" id="1_lt6q2"] [ext_resource type="Script" uid="uid://i8j47qnrytuo" path="res://scripts/UI/SettingsMenu.cs" id="1_lt6q2"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_wgbcl"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_wgbcl"]
bg_color = Color(0, 0, 0, 1) bg_color = Color(0, 0, 0, 1)
[node name="Settings menu" type="Control" node_paths=PackedStringArray("settings_menu_control", "input_settings_button", "audio_settings_button", "display_settings_button", "gameplay_settings_button")] [node name="Settings menu" type="Control" node_paths=PackedStringArray("SettingsMenuControl", "InputSettingsButton", "AudioSettingsButton", "DisplaySettingsButton", "GameplaySettingsButton")]
layout_mode = 3 layout_mode = 3
anchors_preset = 15 anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
@@ -13,11 +13,11 @@ anchor_bottom = 1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
script = ExtResource("1_lt6q2") script = ExtResource("1_lt6q2")
settings_menu_control = NodePath(".") SettingsMenuControl = NodePath(".")
input_settings_button = NodePath("PanelContainer/MarginContainer/VBoxContainer/Input Settings Button") InputSettingsButton = NodePath("PanelContainer/MarginContainer/VBoxContainer/Input Settings Button")
audio_settings_button = NodePath("PanelContainer/MarginContainer/VBoxContainer/Audio Settings Button") AudioSettingsButton = NodePath("PanelContainer/MarginContainer/VBoxContainer/Audio Settings Button")
display_settings_button = NodePath("PanelContainer/MarginContainer/VBoxContainer/Display Settings Button") DisplaySettingsButton = NodePath("PanelContainer/MarginContainer/VBoxContainer/Display Settings Button")
gameplay_settings_button = NodePath("PanelContainer/MarginContainer/VBoxContainer/Gameplay Settings Button") GameplaySettingsButton = NodePath("PanelContainer/MarginContainer/VBoxContainer/Gameplay Settings Button")
[node name="PanelContainer" type="PanelContainer" parent="."] [node name="PanelContainer" type="PanelContainer" parent="."]
layout_mode = 1 layout_mode = 1
@@ -39,7 +39,7 @@ theme_override_constants/margin_bottom = 16
layout_mode = 2 layout_mode = 2
theme_override_constants/separation = 16 theme_override_constants/separation = 16
[node name="Label" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer"] [node name="Title" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2 layout_mode = 2
theme_override_font_sizes/font_size = 16 theme_override_font_sizes/font_size = 16
text = "SETTINGS" text = "SETTINGS"

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://ceqjwmihj70lt"] [gd_scene load_steps=3 format=3 uid="uid://ceqjwmihj70lt"]
[ext_resource type="Texture2D" uid="uid://cvhoq7aubxlmq" path="res://sprites/ui/magnetic_skill_icon.png" id="1_wnfk3"] [ext_resource type="Texture2D" uid="uid://cvhoq7aubxlmq" path="res://sprites/ui/magnetic_skill_icon.png" id="1_wnfk3"]
[ext_resource type="Script" uid="uid://0obbehfd8fki" path="res://scripts/ui/skill_button.gd" id="2_m2732"] [ext_resource type="Script" uid="uid://bw8dlgq86jrtt" path="res://scripts/UI/SkillButton.cs" id="2_m2732"]
[node name="SkillButton" type="Button"] [node name="SkillButton" type="Button"]
offset_right = 8.0 offset_right = 8.0

View File

@@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://dyjumgjkqrufa"] [gd_scene load_steps=2 format=3 uid="uid://dyjumgjkqrufa"]
[ext_resource type="Script" uid="uid://vmhlsc3fu3bn" path="res://autoloads/ui_manager.gd" id="1_53w4j"] [ext_resource type="Script" uid="uid://c3ldmnrwperr4" path="res://Autoloads/UIManager.cs" id="1_53w4j"]
[node name="UiManager" type="Node"] [node name="UiManager" type="Node"]
script = ExtResource("1_53w4j") script = ExtResource("1_53w4j")

View File

@@ -34,11 +34,10 @@ PhantomCameraManager="*res://addons/phantom_camera/scripts/managers/phantom_came
AudioController="*res://objects/audio_controller.tscn" AudioController="*res://objects/audio_controller.tscn"
SteamIntegrationNode="*res://objects/steam_integration.tscn" SteamIntegrationNode="*res://objects/steam_integration.tscn"
SteamControllerInput="*res://autoloads/steam_controller_input.gd" SteamControllerInput="*res://autoloads/steam_controller_input.gd"
Console="*res://addons/console/console.gd"
AchievementsManager="*res://objects/achievements.tscn" AchievementsManager="*res://objects/achievements.tscn"
ConfigFileHandler="*res://autoloads/config_file_handler.gd" UIManager="*res://Autoloads/UIManager.cs"
UiManager="*res://autoloads/ui_manager.gd" ConfigFileHandler="*res://Autoloads/ConfigFileHandler.cs"
SaveSystem="*res://autoloads/save_system.gd" SaveSystem="*res://Autoloads/SaveSystem.cs"
[debug] [debug]

View File

@@ -1,9 +1,9 @@
[gd_resource type="Resource" script_class="LevelResource" load_steps=2 format=3 uid="uid://dsq0y2iw7tfmk"] [gd_resource type="Resource" script_class="LevelResource" load_steps=2 format=3 uid="uid://dsq0y2iw7tfmk"]
[ext_resource type="Script" uid="uid://cp68km8bykymb" path="res://scripts/resources/level_resource.gd" id="1_8mmd7"] [ext_resource type="Script" uid="uid://c2h0pqhxiqswe" path="res://scripts/Resources/LevelResource.cs" id="1_8mmd7"]
[resource] [resource]
script = ExtResource("1_8mmd7") script = ExtResource("1_8mmd7")
level_name = "LEVEL_5_NAME" LevelName = "LEVEL_5_NAME"
scene_path = "res://scenes/level_forest_5.tscn" ScenePath = "res://scenes/level_forest_5.tscn"
metadata/_custom_type_script = "uid://cp68km8bykymb" metadata/_custom_type_script = "uid://cp68km8bykymb"

View File

@@ -1,10 +1,10 @@
[gd_resource type="Resource" script_class="LevelResource" load_steps=2 format=3 uid="uid://cqtalsov2bkpo"] [gd_resource type="Resource" script_class="LevelResource" load_steps=2 format=3 uid="uid://cqtalsov2bkpo"]
[ext_resource type="Script" uid="uid://cp68km8bykymb" path="res://scripts/resources/level_resource.gd" id="2_a2hpx"] [ext_resource type="Script" uid="uid://c2h0pqhxiqswe" path="res://scripts/Resources/LevelResource.cs" id="1_72j7f"]
[resource] [resource]
resource_local_to_scene = true resource_local_to_scene = true
script = ExtResource("2_a2hpx") script = ExtResource("1_72j7f")
level_name = "LEVEL_1_NAME" LevelName = "LEVEL_1_NAME"
scene_path = "res://scenes/level_village_1.tscn" ScenePath = "res://scenes/level_village_1.tscn"
metadata/_custom_type_script = "uid://cp68km8bykymb" metadata/_custom_type_script = "uid://cp68km8bykymb"

View File

@@ -1,9 +1,9 @@
[gd_resource type="Resource" script_class="LevelResource" load_steps=2 format=3 uid="uid://dlwkbjw1l33uq"] [gd_resource type="Resource" script_class="LevelResource" load_steps=2 format=3 uid="uid://dlwkbjw1l33uq"]
[ext_resource type="Script" uid="uid://cp68km8bykymb" path="res://scripts/resources/level_resource.gd" id="1_1tjmh"] [ext_resource type="Script" uid="uid://c2h0pqhxiqswe" path="res://scripts/Resources/LevelResource.cs" id="1_msres"]
[resource] [resource]
script = ExtResource("1_1tjmh") script = ExtResource("1_msres")
level_name = "LEVEL_2_NAME" LevelName = "LEVEL_2_NAME"
scene_path = "res://scenes/level_village_2.tscn" ScenePath = "res://scenes/level_village_2.tscn"
metadata/_custom_type_script = "uid://cp68km8bykymb" metadata/_custom_type_script = "uid://cp68km8bykymb"

View File

@@ -1,9 +1,9 @@
[gd_resource type="Resource" script_class="LevelResource" load_steps=2 format=3 uid="uid://b63u5qfp8p7pv"] [gd_resource type="Resource" script_class="LevelResource" load_steps=2 format=3 uid="uid://b63u5qfp8p7pv"]
[ext_resource type="Script" uid="uid://cp68km8bykymb" path="res://scripts/resources/level_resource.gd" id="1_3v5yj"] [ext_resource type="Script" uid="uid://c2h0pqhxiqswe" path="res://scripts/Resources/LevelResource.cs" id="1_6vcr8"]
[resource] [resource]
script = ExtResource("1_3v5yj") script = ExtResource("1_6vcr8")
level_name = "LEVEL_3_NAME" LevelName = "LEVEL_3_NAME"
scene_path = "res://scenes/level_village_3.tscn" ScenePath = "res://scenes/level_village_3.tscn"
metadata/_custom_type_script = "uid://cp68km8bykymb" metadata/_custom_type_script = "uid://cp68km8bykymb"

View File

@@ -1,9 +1,9 @@
[gd_resource type="Resource" script_class="LevelResource" load_steps=2 format=3 uid="uid://cxfei28yu3buh"] [gd_resource type="Resource" script_class="LevelResource" load_steps=2 format=3 uid="uid://cxfei28yu3buh"]
[ext_resource type="Script" uid="uid://cp68km8bykymb" path="res://scripts/resources/level_resource.gd" id="1_upuk8"] [ext_resource type="Script" uid="uid://c2h0pqhxiqswe" path="res://scripts/Resources/LevelResource.cs" id="1_h4twv"]
[resource] [resource]
script = ExtResource("1_upuk8") script = ExtResource("1_h4twv")
level_name = "LEVEL_4_NAME" LevelName = "LEVEL_4_NAME"
scene_path = "res://scenes/level_village_4.tscn" ScenePath = "res://scenes/level_village_4.tscn"
metadata/_custom_type_script = "uid://cp68km8bykymb" metadata/_custom_type_script = "uid://cp68km8bykymb"

View File

@@ -1,9 +0,0 @@
[gd_resource type="Resource" script_class="LevelResource" load_steps=2 format=3 uid="uid://bhs2j7k0ety3a"]
[ext_resource type="Script" uid="uid://cp68km8bykymb" path="res://scripts/resources/level_resource.gd" id="1_owe0p"]
[resource]
script = ExtResource("1_owe0p")
level_name = "LEVEL_5_NAME"
scene_path = ""
metadata/_custom_type_script = "uid://cp68km8bykymb"

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=24 format=4 uid="uid://bol7g83v2accs"] [gd_scene load_steps=23 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://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"] [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://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://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="TileSet" uid="uid://bbppo0irxdmqy" path="res://resources/tilesets/village/foreground.tres" id="11_w7c5i"]
[ext_resource type="Script" uid="uid://8r1y8elyw7kt" path="res://scripts/console_management.gd" id="12_2tg3u"]
[ext_resource type="PackedScene" uid="uid://bqom4cm7r18db" path="res://objects/entities/killzone.tscn" id="13_tvdre"] [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://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://12jnkdygpxwc" path="res://objects/entities/exit_level.tscn" id="16_chnw1"]
@@ -66,16 +65,22 @@ process_material = SubResource("ParticleProcessMaterial_lgb3u")
[node name="UI Layer" parent="." instance=ExtResource("3_4fsls")] [node name="UI Layer" parent="." instance=ExtResource("3_4fsls")]
[node name="HUD" parent="UI Layer" index="0" node_paths=PackedStringArray("player_health")] [node name="HUD" parent="UI Layer" index="0" node_paths=PackedStringArray("Health")]
player_health = NodePath("../../Brick Player/HealthComponent") Health = NodePath("../../Brick Player/HealthComponent")
[node name="DeathScreen" parent="UI Layer" index="1" node_paths=PackedStringArray("nodes_to_disable")] [node name="DeathScreen" parent="UI Layer" index="1" node_paths=PackedStringArray("NodesToDisable")]
current_level = ExtResource("4_onnch") CurrentLevel = ExtResource("4_onnch")
nodes_to_disable = [NodePath("../../Brick Player")] NodesToDisable = [NodePath("../../Brick Player")]
[node name="Marketplace" parent="UI Layer" index="3" node_paths=PackedStringArray("skill_unlocker", "components_to_disable")] [node name="Marketplace" parent="UI Layer" index="3" node_paths=PackedStringArray("SkillUnlockedComponent")]
skill_unlocker = NodePath("../../Brick Player/SkillUnlockerComponent") SkillUnlockedComponent = NodePath("../../Brick Player/SkillUnlockerComponent")
components_to_disable = [NodePath("../../Brick Player")]
[node name="Pause menu" parent="UI Layer" index="4" node_paths=PackedStringArray("SettingsControl")]
SettingsControl = NodePath("../Settings menu")
[node name="Settings menu" parent="UI Layer" index="5" node_paths=PackedStringArray("InputSettingsControl", "AudioSettingsControl")]
InputSettingsControl = NodePath("../Input Settings")
AudioSettingsControl = NodePath("../Audio settings")
[node name="Global Light" parent="." instance=ExtResource("4_mc58c")] [node name="Global Light" parent="." instance=ExtResource("4_mc58c")]
@@ -111,13 +116,6 @@ tile_set = ExtResource("10_ei558")
[node name="Foreground layer" type="TileMapLayer" parent="."] [node name="Foreground layer" type="TileMapLayer" parent="."]
tile_set = ExtResource("11_w7c5i") tile_set = ExtResource("11_w7c5i")
[node name="ConsoleManagement" type="Node" parent="." node_paths=PackedStringArray("player_health", "skill_unlocker", "skill_manager")]
script = ExtResource("12_2tg3u")
player_health = NodePath("../Brick Player/HealthComponent")
skill_unlocker = NodePath("../Brick Player/SkillUnlockerComponent")
skill_manager = NodePath("../Brick Player/SkillManager")
metadata/_custom_type_script = "uid://8r1y8elyw7kt"
[node name="Killzone" parent="." instance=ExtResource("13_tvdre")] [node name="Killzone" parent="." instance=ExtResource("13_tvdre")]
position = Vector2(215, 324) position = Vector2(215, 324)
@@ -129,18 +127,15 @@ position = Vector2(1485, 25)
[node name="Tooltip" parent="." instance=ExtResource("18_4bhfj")] [node name="Tooltip" parent="." instance=ExtResource("18_4bhfj")]
position = Vector2(712, -343) position = Vector2(712, -343)
text = "LEVEL_1_TOOLTIP_1" Text = "LEVEL_1_TOOLTIP_1"
[node name="Tooltip2" parent="." instance=ExtResource("18_4bhfj")] [node name="Tooltip2" parent="." instance=ExtResource("18_4bhfj")]
position = Vector2(552, 25) position = Vector2(552, 25)
text = "LEVEL_1_TOOLTIP_2" Text = "LEVEL_1_TOOLTIP_2"
[node name="Tooltip3" parent="." instance=ExtResource("18_4bhfj")] [node name="Tooltip3" parent="." instance=ExtResource("18_4bhfj")]
position = Vector2(-59, -247) position = Vector2(-59, -247)
text = "LEVEL_1_TOOLTIP_3" Text = "LEVEL_1_TOOLTIP_3"
[connection signal="on_death" from="Brick Player/HealthComponent" to="UI Layer/DeathScreen" method="on_player_death"]
[connection signal="on_death" from="Brick Player/HealthComponent" to="UI Layer/GameOverScreen" method="on_player_death"]
[editable path="Brick Player"] [editable path="Brick Player"]
[editable path="UI Layer"] [editable path="UI Layer"]

View File

@@ -1,9 +1,8 @@
[gd_scene load_steps=27 format=4 uid="uid://chqb11pfoqmeb"] [gd_scene load_steps=25 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://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"] [ext_resource type="PackedScene" uid="uid://cawlpch2lk3a2" path="res://objects/level/world_environment.tscn" id="2_ot3dy"]
[ext_resource type="PackedScene" uid="uid://6foggu31cu14" path="res://objects/level/ui_layer.tscn" id="3_cjqhe"] [ext_resource type="PackedScene" uid="uid://6foggu31cu14" path="res://objects/level/ui_layer.tscn" id="3_cjqhe"]
[ext_resource type="Resource" uid="uid://dlwkbjw1l33uq" path="res://resources/levels/village/village_2.tres" id="4_h4uvs"]
[ext_resource type="PackedScene" uid="uid://cywsu7yrtjdog" path="res://objects/level/global_light.tscn" id="4_wykfl"] [ext_resource type="PackedScene" uid="uid://cywsu7yrtjdog" path="res://objects/level/global_light.tscn" id="4_wykfl"]
[ext_resource type="PackedScene" uid="uid://cb0mnye1ki5a6" path="res://objects/level/camera_2d.tscn" id="5_8nvkd"] [ext_resource type="PackedScene" uid="uid://cb0mnye1ki5a6" path="res://objects/level/camera_2d.tscn" id="5_8nvkd"]
[ext_resource type="Script" uid="uid://d23haq52m7ulv" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="6_ono4h"] [ext_resource type="Script" uid="uid://d23haq52m7ulv" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="6_ono4h"]
@@ -12,7 +11,6 @@
[ext_resource type="TileSet" uid="uid://cu2sx7qigrqnv" path="res://resources/tilesets/village/terain.tres" id="9_lqbd7"] [ext_resource type="TileSet" uid="uid://cu2sx7qigrqnv" path="res://resources/tilesets/village/terain.tres" id="9_lqbd7"]
[ext_resource type="TileSet" uid="uid://bc5a20s6kuy8e" path="res://resources/tilesets/village/entities.tres" id="10_4r26m"] [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://bbppo0irxdmqy" path="res://resources/tilesets/village/foreground.tres" id="11_r0ngp"]
[ext_resource type="Script" uid="uid://8r1y8elyw7kt" path="res://scripts/console_management.gd" id="12_78lb3"]
[ext_resource type="TileSet" uid="uid://ccffmjebvuoaj" path="res://resources/tilesets/village/small_foreground.tres" id="13_lc0ll"] [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://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://12jnkdygpxwc" path="res://objects/entities/exit_level.tscn" id="15_hcsb6"]
@@ -69,17 +67,6 @@ process_material = SubResource("ParticleProcessMaterial_lgb3u")
[node name="UI Layer" parent="." instance=ExtResource("3_cjqhe")] [node name="UI Layer" parent="." instance=ExtResource("3_cjqhe")]
[node name="HUD" parent="UI Layer" index="0" node_paths=PackedStringArray("player_health")]
player_health = NodePath("../../Brick Player/HealthComponent")
[node name="DeathScreen" parent="UI Layer" index="1" node_paths=PackedStringArray("nodes_to_disable")]
current_level = ExtResource("4_h4uvs")
nodes_to_disable = [NodePath("../../Brick Player")]
[node name="Marketplace" parent="UI Layer" index="3" node_paths=PackedStringArray("skill_unlocker", "components_to_disable")]
skill_unlocker = NodePath("../../Brick Player/SkillUnlockerComponent")
components_to_disable = [NodePath("../../Brick Player")]
[node name="Global Light" parent="." instance=ExtResource("4_wykfl")] [node name="Global Light" parent="." instance=ExtResource("4_wykfl")]
[node name="Camera2D" parent="." instance=ExtResource("5_8nvkd")] [node name="Camera2D" parent="." instance=ExtResource("5_8nvkd")]
@@ -124,13 +111,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_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") tile_set = ExtResource("13_lc0ll")
[node name="ConsoleManagement" type="Node" parent="." node_paths=PackedStringArray("player_health", "skill_unlocker", "skill_manager")]
script = ExtResource("12_78lb3")
player_health = NodePath("../Brick Player/HealthComponent")
skill_unlocker = NodePath("../Brick Player/SkillUnlockerComponent")
skill_manager = NodePath("../Brick Player/SkillManager")
metadata/_custom_type_script = "uid://8r1y8elyw7kt"
[node name="Killzone" parent="." instance=ExtResource("13_sw2hn")] [node name="Killzone" parent="." instance=ExtResource("13_sw2hn")]
position = Vector2(170, 582) position = Vector2(170, 582)
@@ -175,8 +155,5 @@ position = Vector2(792, -784)
[node name="Lever" parent="." instance=ExtResource("20_h4uvs")] [node name="Lever" parent="." instance=ExtResource("20_h4uvs")]
position = Vector2(-231, -776) position = Vector2(-231, -776)
[connection signal="on_death" from="Brick Player/HealthComponent" to="UI Layer/DeathScreen" method="on_player_death"]
[connection signal="on_death" from="Brick Player/HealthComponent" to="UI Layer/GameOverScreen" method="on_player_death"]
[editable path="Brick Player"] [editable path="Brick Player"]
[editable path="UI Layer"] [editable path="UI Layer"]

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=33 format=4 uid="uid://h60obxmju6mo"] [gd_scene load_steps=31 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://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"] [ext_resource type="PackedScene" uid="uid://dx80ivlvuuew4" path="res://objects/fxs/fire_fx.tscn" id="2_a7yjf"]
@@ -17,9 +17,7 @@
[ext_resource type="PackedScene" uid="uid://d0s2abysa86rq" path="res://objects/entities/child.tscn" id="15_dv6gh"] [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://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://bqom4cm7r18db" path="res://objects/entities/killzone.tscn" id="17_3xroh"]
[ext_resource type="Resource" uid="uid://b63u5qfp8p7pv" path="res://resources/levels/village/village_3.tres" id="17_a7yjf"]
[ext_resource type="PackedScene" uid="uid://b4pdt1gv2ymyi" path="res://objects/tooltip.tscn" id="18_l3a7y"] [ext_resource type="PackedScene" uid="uid://b4pdt1gv2ymyi" path="res://objects/tooltip.tscn" id="18_l3a7y"]
[ext_resource type="Script" uid="uid://8r1y8elyw7kt" path="res://scripts/console_management.gd" id="19_0pba3"]
[ext_resource type="PackedScene" uid="uid://cawlpch2lk3a2" path="res://objects/level/world_environment.tscn" id="20_embdf"] [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"] [ext_resource type="PackedScene" uid="uid://cywsu7yrtjdog" path="res://objects/level/global_light.tscn" id="21_fytod"]
[ext_resource type="PackedScene" uid="uid://t6h2ra7kjyq" path="res://objects/entities/small_heal_potion.tscn" id="23_m6h4x"] [ext_resource type="PackedScene" uid="uid://t6h2ra7kjyq" path="res://objects/entities/small_heal_potion.tscn" id="23_m6h4x"]
@@ -325,33 +323,14 @@ position = Vector2(880, -578)
[node name="UI Layer" parent="." instance=ExtResource("16_nr2eo")] [node name="UI Layer" parent="." instance=ExtResource("16_nr2eo")]
[node name="HUD" parent="UI Layer" index="0" node_paths=PackedStringArray("player_health")]
player_health = NodePath("../../Brick Player/HealthComponent")
[node name="DeathScreen" parent="UI Layer" index="1" node_paths=PackedStringArray("nodes_to_disable")]
current_level = ExtResource("17_a7yjf")
nodes_to_disable = [NodePath("../../Brick Player")]
[node name="Marketplace" parent="UI Layer" index="3" node_paths=PackedStringArray("skill_unlocker", "components_to_disable")]
skill_unlocker = NodePath("../../Brick Player/SkillUnlockerComponent")
components_to_disable = [NodePath("../../Brick Player")]
[node name="Killzone" parent="." instance=ExtResource("17_3xroh")] [node name="Killzone" parent="." instance=ExtResource("17_3xroh")]
position = Vector2(2600, 802) position = Vector2(2600, 802)
[node name="Tooltip" parent="." instance=ExtResource("18_l3a7y")] [node name="Tooltip" parent="." instance=ExtResource("18_l3a7y")]
position = Vector2(1016, -104) position = Vector2(1016, -104)
text = "Press 'down' to fall from platform!"
[node name="Tooltip2" parent="." instance=ExtResource("18_l3a7y")] [node name="Tooltip2" parent="." instance=ExtResource("18_l3a7y")]
position = Vector2(1576, -40) position = Vector2(1576, -40)
text = "Be careful!"
[node name="ConsoleManagement" type="Node" parent="." node_paths=PackedStringArray("player_health", "skill_unlocker", "skill_manager")]
script = ExtResource("19_0pba3")
player_health = NodePath("../Brick Player/HealthComponent")
skill_unlocker = NodePath("../Brick Player/SkillUnlockerComponent")
skill_manager = NodePath("../Brick Player/SkillManager")
[node name="WorldEnvironment" parent="." instance=ExtResource("20_embdf")] [node name="WorldEnvironment" parent="." instance=ExtResource("20_embdf")]
@@ -366,9 +345,6 @@ position = Vector2(1244, -41)
[node name="SmallHealPotion3" parent="." instance=ExtResource("23_m6h4x")] [node name="SmallHealPotion3" parent="." instance=ExtResource("23_m6h4x")]
position = Vector2(1359, -42) position = Vector2(1359, -42)
[connection signal="on_death" from="Brick Player/HealthComponent" to="UI Layer/DeathScreen" method="on_player_death"]
[connection signal="on_death" from="Brick Player/HealthComponent" to="UI Layer/GameOverScreen" method="on_player_death"]
[editable path="Brick Player"] [editable path="Brick Player"]
[editable path="UI Layer"] [editable path="UI Layer"]
[editable path="Killzone"] [editable path="Killzone"]

View File

@@ -1,11 +1,10 @@
[gd_scene load_steps=37 format=4 uid="uid://bhad760x3vvco"] [gd_scene load_steps=35 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://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"] [ext_resource type="PackedScene" uid="uid://bon6raeddf3tu" path="res://objects/entities/chaser.tscn" id="1_xraal"]
[ext_resource type="PackedScene" uid="uid://cawlpch2lk3a2" path="res://objects/level/world_environment.tscn" id="2_a7hm7"] [ext_resource type="PackedScene" uid="uid://cawlpch2lk3a2" path="res://objects/level/world_environment.tscn" id="2_a7hm7"]
[ext_resource type="PackedScene" uid="uid://6foggu31cu14" path="res://objects/level/ui_layer.tscn" id="3_p8wo6"] [ext_resource type="PackedScene" uid="uid://6foggu31cu14" path="res://objects/level/ui_layer.tscn" id="3_p8wo6"]
[ext_resource type="PackedScene" uid="uid://cywsu7yrtjdog" path="res://objects/level/global_light.tscn" id="4_0lkg8"] [ext_resource type="PackedScene" uid="uid://cywsu7yrtjdog" path="res://objects/level/global_light.tscn" id="4_0lkg8"]
[ext_resource type="Resource" uid="uid://cxfei28yu3buh" path="res://resources/levels/village/village_4.tres" id="5_iqtv2"]
[ext_resource type="PackedScene" uid="uid://cb0mnye1ki5a6" path="res://objects/level/camera_2d.tscn" id="5_yqj3b"] [ext_resource type="PackedScene" uid="uid://cb0mnye1ki5a6" path="res://objects/level/camera_2d.tscn" id="5_yqj3b"]
[ext_resource type="Script" uid="uid://d23haq52m7ulv" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="6_i5rlu"] [ext_resource type="Script" uid="uid://d23haq52m7ulv" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="6_i5rlu"]
[ext_resource type="PackedScene" uid="uid://bd51frym6mm7v" path="res://objects/entities/lever.tscn" id="7_1bwe8"] [ext_resource type="PackedScene" uid="uid://bd51frym6mm7v" path="res://objects/entities/lever.tscn" id="7_1bwe8"]
@@ -14,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://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://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="TileSet" uid="uid://bbppo0irxdmqy" path="res://resources/tilesets/village/foreground.tres" id="11_23awj"]
[ext_resource type="Script" uid="uid://8r1y8elyw7kt" path="res://scripts/console_management.gd" id="12_4o5b1"]
[ext_resource type="PackedScene" uid="uid://bqom4cm7r18db" path="res://objects/entities/killzone.tscn" id="13_1heob"] [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://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://d0s2abysa86rq" path="res://objects/entities/child.tscn" id="15_3iocp"]
@@ -115,26 +113,10 @@ texture = SubResource("CanvasTexture_o1yb3")
[node name="Chaser" parent="." instance=ExtResource("1_xraal")] [node name="Chaser" parent="." instance=ExtResource("1_xraal")]
position = Vector2(578.405, 15.8615) position = Vector2(578.405, 15.8615)
[node name="ChaseLevelComponent" parent="Chaser" index="0" node_paths=PackedStringArray("chase_target", "phantom_camera")]
chase_speed = 170.0
chase_target = NodePath("../../Chase Target")
phantom_camera = NodePath("../../PhantomCamera2D")
[node name="WorldEnvironment" parent="." instance=ExtResource("2_a7hm7")] [node name="WorldEnvironment" parent="." instance=ExtResource("2_a7hm7")]
[node name="UI Layer" parent="." instance=ExtResource("3_p8wo6")] [node name="UI Layer" parent="." instance=ExtResource("3_p8wo6")]
[node name="HUD" parent="UI Layer" index="0" node_paths=PackedStringArray("player_health")]
player_health = NodePath("../../Brick Player/HealthComponent")
[node name="DeathScreen" parent="UI Layer" index="1" node_paths=PackedStringArray("nodes_to_disable")]
current_level = ExtResource("5_iqtv2")
nodes_to_disable = [NodePath("../../Brick Player")]
[node name="Marketplace" parent="UI Layer" index="3" node_paths=PackedStringArray("skill_unlocker", "components_to_disable")]
skill_unlocker = NodePath("../../Brick Player/SkillUnlockerComponent")
components_to_disable = [NodePath("../../Brick Player")]
[node name="Global Light" parent="." instance=ExtResource("4_0lkg8")] [node name="Global Light" parent="." instance=ExtResource("4_0lkg8")]
[node name="Lever" parent="." instance=ExtResource("7_1bwe8")] [node name="Lever" parent="." instance=ExtResource("7_1bwe8")]
@@ -174,13 +156,6 @@ tile_set = ExtResource("10_gg8rp")
[node name="Foreground layer" type="TileMapLayer" parent="."] [node name="Foreground layer" type="TileMapLayer" parent="."]
tile_set = ExtResource("11_23awj") tile_set = ExtResource("11_23awj")
[node name="ConsoleManagement" type="Node" parent="." node_paths=PackedStringArray("player_health", "skill_unlocker", "skill_manager")]
script = ExtResource("12_4o5b1")
player_health = NodePath("../Brick Player/HealthComponent")
skill_unlocker = NodePath("../Brick Player/SkillUnlockerComponent")
skill_manager = NodePath("../Brick Player/SkillManager")
metadata/_custom_type_script = "uid://8r1y8elyw7kt"
[node name="Killzone" parent="." instance=ExtResource("13_1heob")] [node name="Killzone" parent="." instance=ExtResource("13_1heob")]
position = Vector2(215, 324) position = Vector2(215, 324)
@@ -204,9 +179,6 @@ metadata/_edit_group_ = true
[node name="Sprite2D" parent="Enemies/Flying Enemy" index="1"] [node name="Sprite2D" parent="Enemies/Flying Enemy" index="1"]
flip_h = true flip_h = true
[node name="PeriodicShootingComponent" parent="Enemies/Flying Enemy" index="8"]
shoot_direction = Vector2(-1, 0)
[node name="HitParticles" parent="Enemies/Flying Enemy" index="15"] [node name="HitParticles" parent="Enemies/Flying Enemy" index="15"]
process_material = SubResource("ParticleProcessMaterial_qxfb0") process_material = SubResource("ParticleProcessMaterial_qxfb0")
@@ -220,9 +192,6 @@ metadata/_edit_group_ = true
[node name="Sprite2D" parent="Enemies/Flying Enemy2" index="1"] [node name="Sprite2D" parent="Enemies/Flying Enemy2" index="1"]
flip_h = true flip_h = true
[node name="PeriodicShootingComponent" parent="Enemies/Flying Enemy2" index="8"]
shoot_direction = Vector2(-1, 0)
[node name="HitParticles" parent="Enemies/Flying Enemy2" index="15"] [node name="HitParticles" parent="Enemies/Flying Enemy2" index="15"]
process_material = SubResource("ParticleProcessMaterial_qxfb0") process_material = SubResource("ParticleProcessMaterial_qxfb0")
@@ -236,9 +205,6 @@ metadata/_edit_group_ = true
[node name="Sprite2D" parent="Enemies/Flying Enemy3" index="1"] [node name="Sprite2D" parent="Enemies/Flying Enemy3" index="1"]
flip_h = true flip_h = true
[node name="PeriodicShootingComponent" parent="Enemies/Flying Enemy3" index="8"]
shoot_direction = Vector2(-1, 0)
[node name="HitParticles" parent="Enemies/Flying Enemy3" index="15"] [node name="HitParticles" parent="Enemies/Flying Enemy3" index="15"]
process_material = SubResource("ParticleProcessMaterial_qxfb0") process_material = SubResource("ParticleProcessMaterial_qxfb0")
@@ -252,9 +218,6 @@ metadata/_edit_group_ = true
[node name="Sprite2D" parent="Enemies/Flying Enemy4" index="1"] [node name="Sprite2D" parent="Enemies/Flying Enemy4" index="1"]
flip_h = true flip_h = true
[node name="PeriodicShootingComponent" parent="Enemies/Flying Enemy4" index="8"]
shoot_direction = Vector2(-1, 0)
[node name="HitParticles" parent="Enemies/Flying Enemy4" index="15"] [node name="HitParticles" parent="Enemies/Flying Enemy4" index="15"]
process_material = SubResource("ParticleProcessMaterial_qxfb0") process_material = SubResource("ParticleProcessMaterial_qxfb0")
@@ -281,9 +244,6 @@ metadata/_edit_group_ = true
[node name="Sprite2D" parent="Enemies mid section path/PathFollow2D/Flying Enemy" index="1"] [node name="Sprite2D" parent="Enemies mid section path/PathFollow2D/Flying Enemy" index="1"]
flip_h = true flip_h = true
[node name="PeriodicShootingComponent" parent="Enemies mid section path/PathFollow2D/Flying Enemy" index="8"]
shoot_direction = Vector2(-1, 0)
[node name="HitParticles" parent="Enemies mid section path/PathFollow2D/Flying Enemy" index="15"] [node name="HitParticles" parent="Enemies mid section path/PathFollow2D/Flying Enemy" index="15"]
process_material = SubResource("ParticleProcessMaterial_qxfb0") process_material = SubResource("ParticleProcessMaterial_qxfb0")
@@ -296,16 +256,6 @@ position = Vector2(7148, 22)
[node name="CollisionShape2D" parent="Spaceship exit" index="0"] [node name="CollisionShape2D" parent="Spaceship exit" index="0"]
position = Vector2(16.5, -10) position = Vector2(16.5, -10)
[connection signal="spaceship_entered" from="Spaceship Enter/SpaceshipEnterComponent" to="Chaser/ChaseLevelComponent" method="on_ship_entered"]
[connection signal="spaceship_entered" from="Spaceship Enter/SpaceshipEnterComponent" to="Brick Player" method="on_spaceship_entered"]
[connection signal="spaceship_entered" from="Spaceship Enter/SpaceshipEnterComponent" to="Brick Player/Movements/PlatformMovement" method="on_ship_entered"]
[connection signal="spaceship_entered" from="Spaceship Enter/SpaceshipEnterComponent" to="Brick Player/ShipShooter" method="on_ship_entered"]
[connection signal="on_death" from="Brick Player/HealthComponent" to="UI Layer/DeathScreen" method="on_player_death"]
[connection signal="on_death" from="Brick Player/HealthComponent" to="UI Layer/GameOverScreen" method="on_player_death"]
[connection signal="spaceship_exited" from="Spaceship exit" to="Chaser/ChaseLevelComponent" method="on_ship_exited"]
[connection signal="spaceship_exited" from="Spaceship exit" to="Brick Player" method="on_spaceship_exited"]
[connection signal="spaceship_exited" from="Spaceship exit" to="Brick Player/ShipShooter" method="on_ship_exited"]
[editable path="Chaser"] [editable path="Chaser"]
[editable path="UI Layer"] [editable path="UI Layer"]
[editable path="Spaceship Enter"] [editable path="Spaceship Enter"]

View File

@@ -1,6 +1,6 @@
[gd_scene load_steps=6 format=3 uid="uid://cl00e2ocomk3m"] [gd_scene load_steps=6 format=3 uid="uid://cl00e2ocomk3m"]
[ext_resource type="PackedScene" path="res://objects/ui/main_menu.tscn" id="1_ekxnf"] [ext_resource type="PackedScene" uid="uid://8b6ol5sssbgo" path="res://objects/ui/main_menu.tscn" id="1_ekxnf"]
[ext_resource type="PackedScene" uid="uid://y0ae6e7t70fj" path="res://objects/ui/settings_menu.tscn" id="2_bqqt6"] [ext_resource type="PackedScene" uid="uid://y0ae6e7t70fj" path="res://objects/ui/settings_menu.tscn" id="2_bqqt6"]
[ext_resource type="PackedScene" uid="uid://bwgmrcyj4mvu" path="res://objects/ui/credits.tscn" id="3_bqqt6"] [ext_resource type="PackedScene" uid="uid://bwgmrcyj4mvu" path="res://objects/ui/credits.tscn" id="3_bqqt6"]
[ext_resource type="PackedScene" uid="uid://b5fx1vdfky307" path="res://objects/ui/audio_settings.tscn" id="4_8ln24"] [ext_resource type="PackedScene" uid="uid://b5fx1vdfky307" path="res://objects/ui/audio_settings.tscn" id="4_8ln24"]
@@ -8,14 +8,16 @@
[node name="Main menu" type="CanvasLayer"] [node name="Main menu" type="CanvasLayer"]
[node name="MainMenu" parent="." node_paths=PackedStringArray("settings_control", "credits_control") instance=ExtResource("1_ekxnf")] [node name="MainMenu" parent="." node_paths=PackedStringArray("SettingsControl", "CreditsControl") instance=ExtResource("1_ekxnf")]
settings_control = NodePath("../Settings menu") SettingsControl = NodePath("../Settings menu")
credits_control = NodePath("../Credits") CreditsControl = NodePath("../Credits")
[node name="Settings menu" parent="." node_paths=PackedStringArray("input_settings", "audio_settings") instance=ExtResource("2_bqqt6")] [node name="Settings menu" parent="." node_paths=PackedStringArray("InputSettingsControl", "AudioSettingsControl", "DisplaySettingsControl", "GameplaySettingsControl") instance=ExtResource("2_bqqt6")]
visible = false visible = false
input_settings = NodePath("../Input Settings") InputSettingsControl = NodePath("../Input Settings")
audio_settings = NodePath("../Audio settings") AudioSettingsControl = NodePath("../Audio settings")
DisplaySettingsControl = NodePath("../Display Settings")
GameplaySettingsControl = NodePath("../Gameplay Settings")
[node name="Credits" parent="." instance=ExtResource("3_bqqt6")] [node name="Credits" parent="." instance=ExtResource("3_bqqt6")]
visible = false visible = false
@@ -25,3 +27,15 @@ visible = false
[node name="Input Settings" parent="." instance=ExtResource("5_rtw2f")] [node name="Input Settings" parent="." instance=ExtResource("5_rtw2f")]
visible = false visible = false
[node name="Gameplay Settings" type="Control" parent="."]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="Display Settings" type="Control" parent="."]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0

View File

@@ -0,0 +1,13 @@
using Godot;
namespace Mr.BrickAdventures.scripts.Resources;
[GlobalClass]
public partial class LevelResource : Resource
{
[Export]
public string LevelName { get; set; } = string.Empty;
[Export]
public string ScenePath { get; set; } = string.Empty;
}

View File

@@ -3,7 +3,7 @@ using Mr.BrickAdventures.Autoloads;
namespace Mr.BrickAdventures.scripts.UI; namespace Mr.BrickAdventures.scripts.UI;
public partial class AudioSettings : Node public partial class AudioSettings : Control
{ {
[Export] public Slider MasterVolumeSlider { get; set; } [Export] public Slider MasterVolumeSlider { get; set; }
[Export] public Slider MusicVolumeSlider { get; set; } [Export] public Slider MusicVolumeSlider { get; set; }

View File

@@ -4,7 +4,7 @@ using Mr.BrickAdventures.scripts.Resources;
namespace Mr.BrickAdventures.scripts.UI; namespace Mr.BrickAdventures.scripts.UI;
public partial class ChargeProgressBar : Node public partial class ChargeProgressBar : ProgressBar
{ {
[Export] public ProgressBar ProgressBar { get; set; } [Export] public ProgressBar ProgressBar { get; set; }
[Export] public BrickThrowComponent ThrowComponent { get; set; } [Export] public BrickThrowComponent ThrowComponent { get; set; }
@@ -27,6 +27,11 @@ public partial class ChargeProgressBar : Node
private void SetupDependencies() private void SetupDependencies()
{ {
if (ThrowComponent == null || ProgressBar == null)
{
return;
}
if (ThrowComponent.ThrowInputBehavior is ChargeThrowInputResource throwInput) if (ThrowComponent.ThrowInputBehavior is ChargeThrowInputResource throwInput)
{ {
_throwInput = throwInput; _throwInput = throwInput;

72
scripts/UI/DeathScreen.cs Normal file
View File

@@ -0,0 +1,72 @@
using Godot;
using Mr.BrickAdventures.Autoloads;
using Mr.BrickAdventures.scripts.Resources;
namespace Mr.BrickAdventures.scripts.UI;
[GlobalClass]
public partial class DeathScreen : Control
{
[Export] public LevelResource CurrentLevel { get; set; }
[Export] public Label CurrentLevelLabel { get; set; }
[Export] public Label LivesLeftLabel { get; set; }
[Export] public float TimeoutTime { get; set; } = 2.0f;
[Export] public Godot.Collections.Array<Node> NodesToDisable { get; set; } = new();
private GameManager _gameManager;
private Timer _timer;
public override void _Ready()
{
_gameManager = GetNode<GameManager>("/root/GameManager");
SetLabels();
}
private void SetLabels()
{
if (_gameManager == null) return;
if (CurrentLevel != null)
{
CurrentLevelLabel.Text = CurrentLevel.LevelName;
}
LivesLeftLabel.Text = $" x {_gameManager.GetLives()}";
}
private void SetupTimer()
{
_timer = new Timer();
_timer.WaitTime = TimeoutTime;
_timer.OneShot = true;
_timer.Timeout += OnTimeout;
AddChild(_timer);
_timer.Start();
}
private void ToggleNodes()
{
foreach (var node in NodesToDisable)
{
node.ProcessMode = node.ProcessMode == ProcessModeEnum.Disabled
? ProcessModeEnum.Inherit
: ProcessModeEnum.Disabled;
}
}
public void OnPlayerDeath()
{
if (_gameManager == null) return;
ToggleNodes();
SetLabels();
Show();
SetupTimer();
}
private void OnTimeout()
{
if (_gameManager == null || _gameManager.GetLives() == 0) return;
GetTree().ReloadCurrentScene();
}
}

View File

@@ -3,7 +3,7 @@ using Mr.BrickAdventures.Autoloads;
namespace Mr.BrickAdventures.scripts.UI; namespace Mr.BrickAdventures.scripts.UI;
public partial class GameOverScreen : Node public partial class GameOverScreen : Control
{ {
[Export] public Control GameOverPanel { get; set; } [Export] public Control GameOverPanel { get; set; }
[Export] public Button RestartButton { get; set; } [Export] public Button RestartButton { get; set; }

View File

@@ -4,7 +4,7 @@ using Mr.BrickAdventures.scripts.components;
namespace Mr.BrickAdventures.scripts.UI; namespace Mr.BrickAdventures.scripts.UI;
public partial class Hud : Node public partial class Hud : Control
{ {
[Export] public HealthComponent Health { get; set; } [Export] public HealthComponent Health { get; set; }
[Export] public Label CoinsLabel { get; set; } [Export] public Label CoinsLabel { get; set; }

View File

@@ -3,7 +3,7 @@ using Mr.BrickAdventures.Autoloads;
namespace Mr.BrickAdventures.scripts.UI; namespace Mr.BrickAdventures.scripts.UI;
public partial class MainMenu : Node public partial class MainMenu : Control
{ {
[Export] public Control MainMenuControl { get; set; } [Export] public Control MainMenuControl { get; set; }
[Export] public Button NewGameButton { get; set; } [Export] public Button NewGameButton { get; set; }

View File

@@ -7,7 +7,7 @@ using Mr.BrickAdventures.scripts.Resources;
namespace Mr.BrickAdventures.scripts.UI; namespace Mr.BrickAdventures.scripts.UI;
public partial class Marketplace : Node public partial class Marketplace : Control
{ {
[Export] public Array<SkillData> Skills { get; set; } = []; [Export] public Array<SkillData> Skills { get; set; } = [];
[Export] public GridContainer ToUnlockGrid { get; set; } [Export] public GridContainer ToUnlockGrid { get; set; }
@@ -24,6 +24,8 @@ public partial class Marketplace : Node
public override void _Ready() public override void _Ready()
{ {
_gameManager = GetNode<GameManager>("/root/GameManager");
var skillsToUnlock = new List<SkillData>(); var skillsToUnlock = new List<SkillData>();
foreach (var skill in Skills) skillsToUnlock.Add(skill); foreach (var skill in Skills) skillsToUnlock.Add(skill);

View File

@@ -3,7 +3,7 @@ using Mr.BrickAdventures.Autoloads;
namespace Mr.BrickAdventures.scripts.UI; namespace Mr.BrickAdventures.scripts.UI;
public partial class PauseMenu : Node public partial class PauseMenu : Control
{ {
[Export] public Control PauseMenuControl { get; set; } [Export] public Control PauseMenuControl { get; set; }
[Export] public Control SettingsControl { get; set; } [Export] public Control SettingsControl { get; set; }

View File

@@ -3,7 +3,7 @@ using Mr.BrickAdventures.Autoloads;
namespace Mr.BrickAdventures.scripts.UI; namespace Mr.BrickAdventures.scripts.UI;
public partial class SettingsMenu : Node public partial class SettingsMenu : Control
{ {
[Export] public Control InputSettingsControl { get; set; } [Export] public Control InputSettingsControl { get; set; }
[Export] public Control AudioSettingsControl { get; set; } [Export] public Control AudioSettingsControl { get; set; }

View File

@@ -16,15 +16,12 @@ public partial class DamageComponent : Node
public override void _Ready() public override void _Ready()
{ {
if (Area == null) if (Area != null)
{ {
GD.PushError($"DamageComponent: Area2D node is not set.");
return;
}
Area.BodyEntered += OnAreaBodyEntered; Area.BodyEntered += OnAreaBodyEntered;
Area.BodyExited += OnAreaBodyExited; Area.BodyExited += OnAreaBodyExited;
Area.AreaEntered += OnAreaAreaEntered; Area.AreaEntered += OnAreaAreaEntered;
}
if (DamageTimer != null) if (DamageTimer != null)
{ {

View File

@@ -18,6 +18,8 @@ public partial class ExitDoorComponent : Node, IUnlockable
public override void _Ready() public override void _Ready()
{ {
_gameManager = GetNode<GameManager>("/root/GameManager");
if (ExitArea == null) if (ExitArea == null)
{ {
GD.PushError("ExitDoorComponent: ExitArea is not set."); GD.PushError("ExitDoorComponent: ExitArea is not set.");
@@ -26,12 +28,15 @@ public partial class ExitDoorComponent : Node, IUnlockable
ExitArea.BodyEntered += OnExitAreaBodyEntered; ExitArea.BodyEntered += OnExitAreaBodyEntered;
_gameManager = GetNode<GameManager>("/root/gameManager");
} }
private void OnExitAreaBodyEntered(Node2D body) private void OnExitAreaBodyEntered(Node2D body)
{ {
throw new System.NotImplementedException(); if (Locked) return;
EmitSignalExitTriggered();
_gameManager.UnlockLevel((int)_gameManager.PlayerState["CurrentLevel"] + 1);
CallDeferred(nameof(GoToNextLevel));
} }
public void Unlock() public void Unlock()

View File

@@ -4,7 +4,7 @@ using Mr.BrickAdventures.scripts.interfaces;
namespace Mr.BrickAdventures.scripts.components; namespace Mr.BrickAdventures.scripts.components;
public partial class PlayerController : Node2D public partial class PlayerController : CharacterBody2D
{ {
[Export] [Export]
public string DefaultMovementType { get; set; } = "platform"; public string DefaultMovementType { get; set; } = "platform";

View File

@@ -14,7 +14,7 @@ public partial class PlayerDeathComponent : Node2D
public override void _Ready() public override void _Ready()
{ {
_gameManager = GetNode<GameManager>("/root/gameManager"); _gameManager = GetNode<GameManager>("/root/GameManager");
HealthComponent.Death += OnDeath; HealthComponent.Death += OnDeath;
} }

View File

@@ -20,10 +20,12 @@ public partial class ScoreComponent : Node
return; return;
} }
var coins = GetTree().GetNodesInGroup("Coins"); var coins = GetTree().GetNodesInGroup("coins");
GD.Print($"Found {coins.Count} coins in the scene.");
foreach (var coin in coins) foreach (var coin in coins)
{ {
var c = coin.GetNodeOrNull<CollectableComponent>("CollectableComponent"); var c = coin.GetNodeOrNull<CollectableComponent>("CollectableComponent");
GD.Print(c == null ? "CollectableComponent not found on coin." : "CollectableComponent found on coin.");
if (c != null) if (c != null)
{ {
c.Collected += OnCollected; c.Collected += OnCollected;
@@ -31,6 +33,17 @@ public partial class ScoreComponent : Node
} }
} }
public override void _Process(double delta)
{
GetCoinsInScene();
}
private void GetCoinsInScene()
{
var coins = GetTree().GetNodesInGroup("Coins");
GD.Print($"Found {coins.Count} coins in the scene.");
}
private void OnCollected(float amount, CollectableType type, Node2D body) private void OnCollected(float amount, CollectableType type, Node2D body)
{ {
if (type != CollectableType.Coin) return; if (type != CollectableType.Coin) return;

View File

@@ -2,9 +2,8 @@ using Godot;
namespace Mr.BrickAdventures.scripts.components; namespace Mr.BrickAdventures.scripts.components;
public partial class TooltipComponent : Node public partial class TooltipComponent : Area2D
{ {
[Export] public Area2D Area { get; set; }
[Export] public Control UiRoot { get; set; } [Export] public Control UiRoot { get; set; }
[Export] public string Text { get; set; } = string.Empty; [Export] public string Text { get; set; } = string.Empty;
[Export] public Label TooltipLabel { get; set; } [Export] public Label TooltipLabel { get; set; }
@@ -13,8 +12,8 @@ public partial class TooltipComponent : Node
{ {
TooltipLabel.Text = Text; TooltipLabel.Text = Text;
UiRoot.Visible = false; UiRoot.Visible = false;
Area.BodyEntered += OnBodyEntered; BodyEntered += OnBodyEntered;
Area.BodyExited += OnBodyExited; BodyExited += OnBodyExited;
} }
private void OnBodyEntered(Node2D body) private void OnBodyEntered(Node2D body)

View File

@@ -1,5 +0,0 @@
class_name LevelResource
extends Resource
@export var level_name: String
@export var scene_path: String

View File

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