From 2a016fd30c527bd34ec10feecda06c620ffca470 Mon Sep 17 00:00:00 2001 From: Marco Date: Mon, 7 Apr 2025 15:58:43 +0200 Subject: [PATCH] Revamped equipment init --- Resources/Debug/DebugLevels.tres | 20 +++++++--- Resources/Maps/Level2.tres | 1 + Resources/Maps/Level3.tres | 1 + Resources/Maps/Level4.tres | 13 ++++--- Resources/Maps/RebelBase.tres | 5 ++- Resources/Maps/Tutorial.tres | 1 + Resources/StartData/Pistol_Start.tres | 7 +++- Scenes/Maps/Level2.tscn | 12 +----- Scenes/Maps/Level3.tscn | 11 +----- Scenes/Maps/RebelBase.tscn | 16 ++++---- Scenes/test.tscn | 18 ++++----- Scripts/GameManager.cs | 37 ++++++------------- Scripts/InventoryManager.cs | 5 +++ .../DebugMenu/DebugMapSelectResource.cs | 3 ++ Scripts/Resources/MapStartDataResource.cs | 5 ++- Scripts/UI/DebugMenu.cs | 2 +- 16 files changed, 76 insertions(+), 81 deletions(-) diff --git a/Resources/Debug/DebugLevels.tres b/Resources/Debug/DebugLevels.tres index 761b0414..7fee4e91 100644 --- a/Resources/Debug/DebugLevels.tres +++ b/Resources/Debug/DebugLevels.tres @@ -19,7 +19,8 @@ _name = "Intro" [sub_resource type="Resource" id="Resource_cfhv5"] script = ExtResource("1_ov731") EggIndex = 0 -StartingEquipment = Array[ExtResource("2_bkci5")]([]) +StartingEquipment = [] +RemoveEquipment = [] [sub_resource type="Resource" id="Resource_0k62o"] script = ExtResource("2_tnajf") @@ -31,7 +32,8 @@ StartData = SubResource("Resource_cfhv5") [sub_resource type="Resource" id="Resource_tpb7s"] script = ExtResource("1_ov731") EggIndex = 0 -StartingEquipment = Array[ExtResource("2_bkci5")]([]) +StartingEquipment = [] +RemoveEquipment = [] [sub_resource type="Resource" id="Resource_edoov"] script = ExtResource("2_tnajf") @@ -43,7 +45,8 @@ StartData = SubResource("Resource_tpb7s") [sub_resource type="Resource" id="Resource_1sw5g"] script = ExtResource("1_ov731") EggIndex = 255 -StartingEquipment = Array[ExtResource("2_bkci5")]([]) +StartingEquipment = [] +RemoveEquipment = [] [sub_resource type="Resource" id="Resource_47bot"] script = ExtResource("2_tnajf") @@ -56,6 +59,7 @@ StartData = SubResource("Resource_1sw5g") script = ExtResource("1_ov731") EggIndex = 2 StartingEquipment = Array[ExtResource("2_bkci5")]([ExtResource("3_fydgr"), ExtResource("4_38yta"), ExtResource("5_em757"), ExtResource("6_sdmg8")]) +RemoveEquipment = [] [sub_resource type="Resource" id="Resource_mgdm6"] script = ExtResource("2_tnajf") @@ -73,7 +77,8 @@ _name = "Rebel Base" [sub_resource type="Resource" id="Resource_maxpt"] script = ExtResource("1_ov731") EggIndex = 0 -StartingEquipment = Array[ExtResource("2_bkci5")]([]) +StartingEquipment = [] +RemoveEquipment = [] [sub_resource type="Resource" id="Resource_pein5"] script = ExtResource("2_tnajf") @@ -110,6 +115,7 @@ _name = "Default Scene" script = ExtResource("1_ov731") EggIndex = 0 StartingEquipment = Array[ExtResource("2_bkci5")]([ExtResource("7_b3oo5")]) +RemoveEquipment = [] [sub_resource type="Resource" id="Resource_6ijnv"] script = ExtResource("2_tnajf") @@ -128,7 +134,8 @@ metadata/_custom_type_script = "uid://dnthdjrx78u6m" [sub_resource type="Resource" id="Resource_7sue8"] script = ExtResource("1_ov731") EggIndex = 255 -StartingEquipment = Array[ExtResource("2_bkci5")]([]) +StartingEquipment = [] +RemoveEquipment = [] metadata/_custom_type_script = "uid://mja0rk7n2kln" [sub_resource type="Resource" id="Resource_ognca"] @@ -142,7 +149,8 @@ metadata/_custom_type_script = "uid://dnthdjrx78u6m" [sub_resource type="Resource" id="Resource_olpjo"] script = ExtResource("1_ov731") EggIndex = 0 -StartingEquipment = Array[ExtResource("2_bkci5")]([]) +StartingEquipment = [] +RemoveEquipment = [] metadata/_custom_type_script = "uid://mja0rk7n2kln" [sub_resource type="Resource" id="Resource_nbnej"] diff --git a/Resources/Maps/Level2.tres b/Resources/Maps/Level2.tres index 30dcdd52..80caecc8 100644 --- a/Resources/Maps/Level2.tres +++ b/Resources/Maps/Level2.tres @@ -5,6 +5,7 @@ [resource] script = ExtResource("1_os6hh") +LevelId = 0 MapName = &"Biology Lab" MapDescription = &"Bioresearch goes here" ScenePath = &"uid://6a6tjohypmmb" diff --git a/Resources/Maps/Level3.tres b/Resources/Maps/Level3.tres index 80ab3b9a..5bf5d3b5 100644 --- a/Resources/Maps/Level3.tres +++ b/Resources/Maps/Level3.tres @@ -5,6 +5,7 @@ [resource] script = ExtResource("1_g1k8s") +LevelId = 5 MapName = &"Power plant" MapDescription = &"Nuclear power plant" ScenePath = &"uid://dnpmeebmjgv2t" diff --git a/Resources/Maps/Level4.tres b/Resources/Maps/Level4.tres index afc19dae..614df077 100644 --- a/Resources/Maps/Level4.tres +++ b/Resources/Maps/Level4.tres @@ -1,11 +1,14 @@ -[gd_resource type="Resource" script_class="MapResource" load_steps=2 format=3 uid="uid://b6per1p85bqpn"] +[gd_resource type="Resource" script_class="MapResource" load_steps=3 format=3 uid="uid://b6per1p85bqpn"] [ext_resource type="Script" uid="uid://quy4d4tgvqfy" path="res://Scripts/Resources/MapResource.cs" id="1_eeiar"] +[ext_resource type="Resource" uid="uid://cn8tu4jct04rp" path="res://Resources/StartData/Pistol_Start.tres" id="1_gbti6"] [resource] script = ExtResource("1_eeiar") -MapName = null -MapDescription = null -ScenePath = null -WeaponsAllowed = false +LevelId = 6 +MapName = &"Space" +MapDescription = &"Space" +ScenePath = &"uid://b6per1p85bqpn" +WeaponsAllowed = true +StartData = ExtResource("1_gbti6") metadata/_custom_type_script = "uid://quy4d4tgvqfy" diff --git a/Resources/Maps/RebelBase.tres b/Resources/Maps/RebelBase.tres index df09b91c..123f1cb3 100644 --- a/Resources/Maps/RebelBase.tres +++ b/Resources/Maps/RebelBase.tres @@ -1,11 +1,14 @@ -[gd_resource type="Resource" script_class="MapResource" load_steps=2 format=3 uid="uid://37h0tjja4sns"] +[gd_resource type="Resource" script_class="MapResource" load_steps=3 format=3 uid="uid://37h0tjja4sns"] +[ext_resource type="Resource" uid="uid://cn8tu4jct04rp" path="res://Resources/StartData/Pistol_Start.tres" id="1_gmpub"] [ext_resource type="Script" uid="uid://quy4d4tgvqfy" path="res://Scripts/Resources/MapResource.cs" id="1_lgg4g"] [resource] script = ExtResource("1_lgg4g") +LevelId = 0 MapName = &"Rebel Base" MapDescription = &"Based rebels" ScenePath = &"uid://bx31ou6tw3kd1" WeaponsAllowed = false +StartData = ExtResource("1_gmpub") metadata/_custom_type_script = "uid://quy4d4tgvqfy" diff --git a/Resources/Maps/Tutorial.tres b/Resources/Maps/Tutorial.tres index f5b351a9..0d3a4d03 100644 --- a/Resources/Maps/Tutorial.tres +++ b/Resources/Maps/Tutorial.tres @@ -7,6 +7,7 @@ script = ExtResource("1_3bwtp") EggIndex = 0 StartingEquipment = [] +RemoveEquipment = [] metadata/_custom_type_script = "uid://mja0rk7n2kln" [resource] diff --git a/Resources/StartData/Pistol_Start.tres b/Resources/StartData/Pistol_Start.tres index 791a57d8..c28d047c 100644 --- a/Resources/StartData/Pistol_Start.tres +++ b/Resources/StartData/Pistol_Start.tres @@ -1,12 +1,17 @@ -[gd_resource type="Resource" script_class="MapStartDataResource" load_steps=5 format=3 uid="uid://cn8tu4jct04rp"] +[gd_resource type="Resource" script_class="MapStartDataResource" load_steps=9 format=3 uid="uid://cn8tu4jct04rp"] [ext_resource type="Script" uid="uid://mja0rk7n2kln" path="res://Scripts/Resources/MapStartDataResource.cs" id="1_fmydh"] [ext_resource type="Resource" uid="uid://ct1fa2huvy34n" path="res://Resources/Items/Ammo1.tres" id="1_juefn"] +[ext_resource type="Resource" uid="uid://dibquna7fww7t" path="res://Resources/Items/Red_Keycard.tres" id="1_wchkt"] [ext_resource type="Script" uid="uid://epnwjptvks3t" path="res://Scripts/Resources/LootItem.cs" id="1_xjbmv"] +[ext_resource type="Resource" uid="uid://cj5aa7btaw6q0" path="res://Resources/Items/Blue_Keycard.tres" id="2_2v4s6"] [ext_resource type="Resource" uid="uid://cs3ihltcn2166" path="res://Resources/Items/IcicleGun.tres" id="2_xjbmv"] +[ext_resource type="Resource" uid="uid://cspcgkr0tane2" path="res://Resources/Items/Green_Keycard.tres" id="3_73lvc"] +[ext_resource type="Resource" uid="uid://b2vyr1tcm4rc1" path="res://Resources/Items/Yellow_Keycard.tres" id="4_vnxsw"] [resource] script = ExtResource("1_fmydh") EggIndex = 0 StartingEquipment = Array[ExtResource("1_xjbmv")]([ExtResource("1_juefn"), ExtResource("2_xjbmv")]) +RemoveEquipment = [ExtResource("1_wchkt"), ExtResource("2_2v4s6"), ExtResource("3_73lvc"), ExtResource("4_vnxsw")] metadata/_custom_type_script = "uid://mja0rk7n2kln" diff --git a/Scenes/Maps/Level2.tscn b/Scenes/Maps/Level2.tscn index ae236b5d..91e91427 100644 --- a/Scenes/Maps/Level2.tscn +++ b/Scenes/Maps/Level2.tscn @@ -1,11 +1,8 @@ -[gd_scene load_steps=93 format=4 uid="uid://6a6tjohypmmb"] +[gd_scene load_steps=89 format=4 uid="uid://6a6tjohypmmb"] [ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_t2k72"] [ext_resource type="PackedScene" uid="uid://c4pr2707hbeph" path="res://Scenes/Actors/fsm_player.tscn" id="2_2jsgm"] [ext_resource type="Resource" uid="uid://mx860r8t37g1" path="res://Resources/Maps/Level2.tres" id="2_5t0ab"] -[ext_resource type="Script" uid="uid://epnwjptvks3t" path="res://Scripts/Resources/LootItem.cs" id="3_hw1so"] -[ext_resource type="Resource" uid="uid://cs3ihltcn2166" path="res://Resources/Items/IcicleGun.tres" id="3_mqt4u"] -[ext_resource type="Script" uid="uid://mja0rk7n2kln" path="res://Scripts/Resources/MapStartDataResource.cs" id="4_s1vkf"] [ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_06rc0"] [ext_resource type="PackedScene" uid="uid://byms2dhliyux0" path="res://Scenes/Actors/teleporter.tscn" id="6_e12id"] [ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_up0ka"] @@ -51,11 +48,6 @@ [ext_resource type="Resource" uid="uid://b0xtpdb4by8mm" path="res://Resources/Maps/Level3.tres" id="43_joghw"] [ext_resource type="LabelSettings" uid="uid://buk3e7bbwmnv1" path="res://Resources/Styles/Hud_Text_Style.tres" id="44_q1ysg"] -[sub_resource type="Resource" id="Resource_6wo78"] -script = ExtResource("4_s1vkf") -EggIndex = 0 -StartingEquipment = Array[ExtResource("3_hw1so")]([ExtResource("3_mqt4u")]) - [sub_resource type="LabelSettings" id="LabelSettings_5j8ks"] font = ExtResource("9_qo7ri") font_size = 10 @@ -333,8 +325,6 @@ PlayerTemplate = ExtResource("2_2jsgm") SpawnMarkers = Dictionary[int, NodePath]({ 0: NodePath("PlayerStartPosition") }) -StartingEquipment = Array[ExtResource("3_hw1so")]([ExtResource("3_mqt4u")]) -MapStartData = SubResource("Resource_6wo78") NavigationTilemap = NodePath("Tilemaps/Floor") [node name="Tilemaps" type="Node2D" parent="."] diff --git a/Scenes/Maps/Level3.tscn b/Scenes/Maps/Level3.tscn index ffcfb712..35211fc2 100644 --- a/Scenes/Maps/Level3.tscn +++ b/Scenes/Maps/Level3.tscn @@ -1,11 +1,9 @@ -[gd_scene load_steps=64 format=4 uid="uid://dnpmeebmjgv2t"] +[gd_scene load_steps=61 format=4 uid="uid://dnpmeebmjgv2t"] [ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_0pe42"] [ext_resource type="PackedScene" uid="uid://c4pr2707hbeph" path="res://Scenes/Actors/fsm_player.tscn" id="2_bn5f4"] [ext_resource type="Resource" uid="uid://b0xtpdb4by8mm" path="res://Resources/Maps/Level3.tres" id="2_pjj1f"] [ext_resource type="Script" uid="uid://epnwjptvks3t" path="res://Scripts/Resources/LootItem.cs" id="3_w0rax"] -[ext_resource type="Resource" uid="uid://cs3ihltcn2166" path="res://Resources/Items/IcicleGun.tres" id="4_7j1cb"] -[ext_resource type="Script" uid="uid://mja0rk7n2kln" path="res://Scripts/Resources/MapStartDataResource.cs" id="4_w0rax"] [ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_6nsxd"] [ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_tvyok"] [ext_resource type="PackedScene" uid="uid://dnbtou2fklyvp" path="res://Scenes/Actors/alarm_sign.tscn" id="7_bn5f4"] @@ -61,11 +59,6 @@ [ext_resource type="Script" uid="uid://c8tx1gh0lxt0t" path="res://Scripts/Resources/Events/AlarmEnableEvent.cs" id="52_udf20"] [ext_resource type="PackedScene" uid="uid://dky13otbks8cm" path="res://Scenes/Actors/Thermatron_FSM.tscn" id="58_pjj1f"] -[sub_resource type="Resource" id="Resource_6wo78"] -script = ExtResource("4_w0rax") -EggIndex = 0 -StartingEquipment = [] - [sub_resource type="RectangleShape2D" id="RectangleShape2D_tvyok"] size = Vector2(52, 64) @@ -82,8 +75,6 @@ PlayerTemplate = ExtResource("2_bn5f4") SpawnMarkers = Dictionary[int, NodePath]({ 0: NodePath("PlayerStartPosition") }) -StartingEquipment = Array[ExtResource("3_w0rax")]([ExtResource("4_7j1cb")]) -MapStartData = SubResource("Resource_6wo78") [node name="Tilemaps" type="Node2D" parent="."] process_mode = 1 diff --git a/Scenes/Maps/RebelBase.tscn b/Scenes/Maps/RebelBase.tscn index f678bf70..cb20f631 100644 --- a/Scenes/Maps/RebelBase.tscn +++ b/Scenes/Maps/RebelBase.tscn @@ -1,9 +1,8 @@ -[gd_scene load_steps=34 format=4 uid="uid://bx31ou6tw3kd1"] +[gd_scene load_steps=33 format=4 uid="uid://bx31ou6tw3kd1"] [ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_6sq7s"] [ext_resource type="PackedScene" uid="uid://c4pr2707hbeph" path="res://Scenes/Actors/fsm_player.tscn" id="2_cicvv"] -[ext_resource type="Script" uid="uid://epnwjptvks3t" path="res://Scripts/Resources/LootItem.cs" id="3_rf2ue"] -[ext_resource type="Script" uid="uid://mja0rk7n2kln" path="res://Scripts/Resources/MapStartDataResource.cs" id="4_tgwif"] +[ext_resource type="Resource" uid="uid://37h0tjja4sns" path="res://Resources/Maps/RebelBase.tres" id="2_oa48u"] [ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_vmlpc"] [ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_sv42c"] [ext_resource type="PackedScene" uid="uid://l84on3kv2s52" path="res://Scenes/Door_Horizontal.tscn" id="7_rs3ph"] @@ -20,6 +19,7 @@ [ext_resource type="Resource" uid="uid://mx860r8t37g1" path="res://Resources/Maps/Level2.tres" id="18_8anae"] [ext_resource type="PackedScene" uid="uid://dx1urm7nttkqk" path="res://Scenes/Actors/level_teleporter.tscn" id="18_tbppe"] [ext_resource type="PackedScene" uid="uid://crph24e6e0v0q" path="res://Scenes/Interactable/Control_Pad.tscn" id="19_nxss7"] +[ext_resource type="PackedScene" uid="uid://r25rq6ijgm6m" path="res://Scenes/Items/Green_Keycard.tscn" id="19_rf2ue"] [ext_resource type="PackedScene" uid="uid://cyy5i38sf7fid" path="res://Scenes/Props/Locker.tscn" id="20_jrxvj"] [ext_resource type="Script" uid="uid://cfya7sndh7vy2" path="res://Scenes/CameraController.gd" id="21_3u61o"] [ext_resource type="Script" uid="uid://c5nxsq3tyxcx6" path="res://Scripts/InventoryManager.cs" id="22_jn5np"] @@ -29,11 +29,6 @@ [ext_resource type="PackedScene" uid="uid://cl7s06sk106uo" path="res://Scenes/Props/VendingMachine.tscn" id="26_6sq7s"] [ext_resource type="PackedScene" uid="uid://b3tyacxxw88lx" path="res://Scenes/Utils/StreamPlayerWithName.tscn" id="26_yowd0"] -[sub_resource type="Resource" id="Resource_53p3c"] -script = ExtResource("4_tgwif") -EggIndex = 0 -StartingEquipment = Array[ExtResource("3_rf2ue")]([null]) - [sub_resource type="Resource" id="Resource_2ugqu"] script = ExtResource("11_esmuk") TimelineName = &"colonel1" @@ -57,11 +52,11 @@ region = Rect2(0, 0, 8, 16) [node name="GameScene" type="Node2D"] process_mode = 3 script = ExtResource("1_6sq7s") +MapResource = ExtResource("2_oa48u") PlayerTemplate = ExtResource("2_cicvv") SpawnMarkers = Dictionary[int, NodePath]({ 0: NodePath("PlayerStartPosition") }) -MapStartData = SubResource("Resource_53p3c") [node name="Tilemaps" type="Node2D" parent="."] process_mode = 1 @@ -184,6 +179,9 @@ LevelPath = "res://Scenes/Maps/Level2.tscn" Map = ExtResource("18_8anae") SaveInventory = true +[node name="GreenKeyCard" parent="Tilemaps/Actors" instance=ExtResource("19_rf2ue")] +position = Vector2(133, 298) + [node name="ControlPad" parent="Tilemaps" node_paths=PackedStringArray("Targets") instance=ExtResource("19_nxss7")] position = Vector2(134, 371) Targets = [NodePath("../Actors/HorizontalDoor")] diff --git a/Scenes/test.tscn b/Scenes/test.tscn index 5e669800..a5618126 100644 --- a/Scenes/test.tscn +++ b/Scenes/test.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=154 format=4 uid="uid://bv451a8wgty4u"] +[gd_scene load_steps=151 format=4 uid="uid://bv451a8wgty4u"] [ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_8tmoj"] [ext_resource type="PackedScene" uid="uid://c4pr2707hbeph" path="res://Scenes/Actors/fsm_player.tscn" id="2_ksslq"] @@ -11,7 +11,6 @@ [ext_resource type="Script" uid="uid://epnwjptvks3t" path="res://Scripts/Resources/LootItem.cs" id="6_8tdlb"] [ext_resource type="Resource" uid="uid://clr1gln7nxa1o" path="res://Resources/Items/Power_Pickup.tres" id="6_khabp"] [ext_resource type="Script" uid="uid://cfya7sndh7vy2" path="res://Scenes/CameraController.gd" id="6_t8ide"] -[ext_resource type="Script" uid="uid://mja0rk7n2kln" path="res://Scripts/Resources/MapStartDataResource.cs" id="7_l32kg"] [ext_resource type="PackedScene" uid="uid://crmwuwhltmdq7" path="res://Scenes/Props/MediumTank.tscn" id="7_lmrl1"] [ext_resource type="PackedScene" uid="uid://7cpk3c3d8cl7" path="res://Scenes/Props/MediumLiquidTank.tscn" id="8_2wpw7"] [ext_resource type="PackedScene" uid="uid://q7hau0tl3vsr" path="res://Scenes/Items/IcicleGun.tscn" id="10_iihys"] @@ -67,7 +66,6 @@ [ext_resource type="Script" uid="uid://b5fesrd4lv8t1" path="res://Scripts/Resources/Events/EventResource.cs" id="46_0bqta"] [ext_resource type="Script" uid="uid://ddv26x2qilprb" path="res://Scripts/Resources/Events/DialogueStartEvent.cs" id="46_i0omr"] [ext_resource type="PackedScene" uid="uid://cqrkisw6jg24w" path="res://Scenes/Props/MainFrame1.tscn" id="46_ny2s2"] -[ext_resource type="Script" uid="uid://b5s5mjuk1rng5" path="res://Scripts/Resources/TimeModifier.cs" id="47_dferh"] [ext_resource type="PackedScene" uid="uid://cdti0hnbs3e63" path="res://Scenes/Actors/RoamingSusan.tscn" id="47_u1ve6"] [ext_resource type="PackedScene" uid="uid://cke02i4e3bxld" path="res://Scenes/Props/MainFrame2.tscn" id="47_y5mcc"] [ext_resource type="PackedScene" uid="uid://b0pb078xylxy" path="res://Scenes/Interactable/Valve.tscn" id="48_8usll"] @@ -124,11 +122,6 @@ [ext_resource type="Resource" uid="uid://dqnvesdj0dk3v" path="res://Resources/Bullets/simple_enemy_bullet.tres" id="114_fuaed"] [ext_resource type="PackedScene" uid="uid://r70dfwgv51tw" path="res://Scenes/Props/Fridge.tscn" id="115_dferh"] -[sub_resource type="Resource" id="Resource_6sau4"] -script = ExtResource("7_l32kg") -EggIndex = 0 -StartingEquipment = Array[ExtResource("6_8tdlb")]([ExtResource("6_khabp")]) - [sub_resource type="RectangleShape2D" id="RectangleShape2D_ksslq"] size = Vector2(184, 46.5) @@ -157,7 +150,7 @@ DamageType = 0 OverrideControllable = false Controllable = false OverrideCreationModifier = false -TimeModifiers = Array[ExtResource("47_dferh")]([]) +TimeModifiers = [] WaitForCompletion = true metadata/_custom_type_script = "uid://c0ndqalsc4jve" @@ -318,12 +311,12 @@ PlayerTemplate = ExtResource("2_ksslq") SpawnMarkers = Dictionary[int, NodePath]({ 0: NodePath("Parallax2D/Factory Tilemaps/LevelProps/StartPosition"), 2: NodePath("Parallax2D/Factory Tilemaps/LevelProps/BossDebugTeleporterDestination"), +3: NodePath("Parallax2D/Factory Tilemaps/LevelProps/AddendumStart"), 255: NodePath("Parallax2D/Factory Tilemaps/Debug Room/DebugRoomStartPosition") }) -StartingEquipment = Array[ExtResource("6_8tdlb")]([ExtResource("4_swym2"), ExtResource("5_nqier")]) -MapStartData = SubResource("Resource_6sau4") NavigationTilemap = NodePath("Parallax2D/Factory Tilemaps/Floor") PlayerParentNode = NodePath("Parallax2D/Factory Tilemaps/PlayerParent") +EggStartIndex = 255 metadata/_edit_lock_ = true [node name="Parallax2D" type="Parallax2D" parent="."] @@ -1504,6 +1497,9 @@ position = Vector2(-1257, 537) ActivationType = 2 Target = NodePath("../HorizontalForceField6") +[node name="AddendumStart" type="Marker2D" parent="Parallax2D/Factory Tilemaps/LevelProps"] +position = Vector2(-1366, 358) + [node name="PlayerParent" type="Node2D" parent="Parallax2D/Factory Tilemaps"] [node name="BeamShadows" type="TileMapLayer" parent="Parallax2D/Factory Tilemaps"] diff --git a/Scripts/GameManager.cs b/Scripts/GameManager.cs index e0a7af3b..a0001f4e 100644 --- a/Scripts/GameManager.cs +++ b/Scripts/GameManager.cs @@ -31,14 +31,8 @@ public partial class GameManager : Node2D [Export] public Dictionary SpawnMarkers { get; private set; } = new(); //[Export] public Marker2D PlayerSpawnMarker { get; set; } - - [Export] public Array StartingEquipment { get; private set; } = new(); - private InventoryManager _inventoryManager { get; set; } - [Export] - public MapStartDataResource MapStartData { get; private set; } - //private AlarmManager _alarmManager { get; set; } //public InventoryManager Inventory => _inventoryManager; @@ -67,6 +61,9 @@ public partial class GameManager : Node2D [Export] public Node2D PlayerParentNode { get; set; } + [Export] + public int EggStartIndex = 0; + // Called when the node enters the scene tree for the first time. public override void _Ready() { @@ -124,9 +121,10 @@ public partial class GameManager : Node2D public void ApplyMapStartData(MapStartDataResource mapStartData) { - MapStartData = mapStartData; + EggStartIndex = mapStartData.EggIndex; + //MapStartData = mapStartData; - StartingEquipment.AddRange(mapStartData.StartingEquipment); + // StartingEquipment.AddRange(mapStartData.StartingEquipment); } public void AddMotivation(float motivation) @@ -222,9 +220,9 @@ public partial class GameManager : Node2D private Vector2 GetStartPosition() { - if (MapStartData != null) + if (MapResource != null) { - if (SpawnMarkers.TryGetValue(MapStartData.EggIndex, out var spawnMarker)) + if (SpawnMarkers.TryGetValue(EggStartIndex, out var spawnMarker)) { var marker = GetNode(spawnMarker); @@ -257,25 +255,14 @@ public partial class GameManager : Node2D private void SpawnWeapons() { - if (!StartingEquipment.Any()) + foreach (var startingItem in MapResource.StartData.StartingEquipment) { - GD.Print("No items to spawn on Player"); - return; + _inventoryManager.AddItem(startingItem); } - foreach (var startingItem in StartingEquipment) + foreach (var item in MapResource.StartData.RemoveEquipment) { - // Now automatically taken care of by the event - // switch (startingItem.Item) - // { - // case ItemTypes.Weapon: - // SpawnPlayerWeapon(startingItem); - // - // //_player.EquippedWeapon ??= weapon; - // break; - // } - - _inventoryManager.AddItem(startingItem); + _inventoryManager.RemoveItem(item); } } diff --git a/Scripts/InventoryManager.cs b/Scripts/InventoryManager.cs index 6382c8a6..80ea1435 100644 --- a/Scripts/InventoryManager.cs +++ b/Scripts/InventoryManager.cs @@ -67,6 +67,11 @@ public partial class InventoryManager : Node2D return _itemsDict.TryGetValue(itemKey, out var itm) ? itm.Count : 0; } + public int RemoveItem(LootItem item) + { + return RemoveItem(item.ItemKey, 9999); + } + public int RemoveItem(string itemKey, int amount) { if (!_itemsDict.TryGetValue(itemKey, out var itm)) return 0; diff --git a/Scripts/Resources/DebugMenu/DebugMapSelectResource.cs b/Scripts/Resources/DebugMenu/DebugMapSelectResource.cs index 16c1a5b1..c9df37b7 100644 --- a/Scripts/Resources/DebugMenu/DebugMapSelectResource.cs +++ b/Scripts/Resources/DebugMenu/DebugMapSelectResource.cs @@ -6,6 +6,7 @@ namespace Cirno.Scripts.Resources.DebugMenu; public partial class DebugMapSelectResource : Resource { [Export] public bool Enabled { get; private set; } = true; + [Export] public MapResource Map { get; private set; } [Export] public string Path { get; private set; } [Export] private string _name { get; set; } @@ -14,6 +15,8 @@ public partial class DebugMapSelectResource : Resource [Export] public Texture2D Icon { get; private set; } + public string ScenePath => Map is not null ? Map.ScenePath : Path; + public string DisplayName { get diff --git a/Scripts/Resources/MapStartDataResource.cs b/Scripts/Resources/MapStartDataResource.cs index d90f2324..5f706678 100644 --- a/Scripts/Resources/MapStartDataResource.cs +++ b/Scripts/Resources/MapStartDataResource.cs @@ -11,8 +11,11 @@ public partial class MapStartDataResource : Resource public int EggIndex { get; set; } [Export] - public Array StartingEquipment { get; set; } = new Array(); + public Array StartingEquipment { get; set; } = []; + [Export] + public Array RemoveEquipment { get; set; } = []; + public override string ToString() { return $"EggIndex: {EggIndex}, Equipment: {string.Join("," ,StartingEquipment.Select(x => x.ItemKey))}"; diff --git a/Scripts/UI/DebugMenu.cs b/Scripts/UI/DebugMenu.cs index bf1cf8f0..a97f56d8 100644 --- a/Scripts/UI/DebugMenu.cs +++ b/Scripts/UI/DebugMenu.cs @@ -80,7 +80,7 @@ public partial class DebugMenu : MenuBase { GameManager.Instance.Unpause(); } - GlobalState.Instance.GoToScene(scene.Path, scene.StartData); + GlobalState.Instance.GoToScene(scene.ScenePath, scene.StartData); } private void _on_check_box_toggled(bool state)