diff --git a/addons/pvzadventure/AdventureLevelResource.cs b/addons/pvzadventure/AdventureLevelResource.cs index 5825854..3131f25 100644 --- a/addons/pvzadventure/AdventureLevelResource.cs +++ b/addons/pvzadventure/AdventureLevelResource.cs @@ -5,9 +5,10 @@ using Godot.Collections; [Tool] public partial class AdventureLevelResource : Resource { - [Export] public float startSun; + [Export] public float startSun = 50; //[Export] public Array conditions; [Export(PropertyHint.Range,"0,1,0.01")] public float wavePercentage; [Export] public float standardWaveDelay; + [Export] public float initialWaveDelay; [Export] public Array waves; } diff --git a/resources/levels/test_level_for_execution.tres b/resources/levels/test_level_for_execution.tres new file mode 100644 index 0000000..cd6db78 --- /dev/null +++ b/resources/levels/test_level_for_execution.tres @@ -0,0 +1,58 @@ +[gd_resource type="Resource" script_class="AdventureLevelResource" load_steps=18 format=3 uid="uid://br3364jty1j0i"] + +[ext_resource type="Script" uid="uid://bximdujbkj2n4" path="res://addons/pvzadventure/AdventureLevelResource.cs" id="1_qb1ge"] +[ext_resource type="Script" uid="uid://cw7yc3i2lgcja" path="res://addons/pvzadventure/WaveEvent.cs" id="2_8aewt"] +[ext_resource type="Script" uid="uid://7rptlb5qr3b6" path="res://addons/pvzadventure/WaveData.cs" id="3_hlq35"] +[ext_resource type="Script" uid="uid://dl12rj75tk2qi" path="res://addons/pvzadventure/RowSpawn.cs" id="4_8miqm"] +[ext_resource type="Script" uid="uid://cqxj7o8hdm82n" path="res://scripts/resources/ZombieResource.cs" id="5_8miqm"] +[ext_resource type="Resource" uid="uid://dkhjlu7u0vny6" path="res://resources/zombies/buckethead.tres" id="6_s62qb"] +[ext_resource type="Resource" uid="uid://nceohd32fkxk" path="res://resources/zombies/conehead.tres" id="7_yvl2y"] +[ext_resource type="Resource" uid="uid://buvacn56kyy2p" path="res://resources/zombies/basic.tres" id="8_ulhin"] +[ext_resource type="Resource" uid="uid://c38vfdw5b60xw" path="res://resources/zombies/hobo.tres" id="9_ulhin"] + +[sub_resource type="Resource" id="Resource_yvl2y"] +script = ExtResource("4_8miqm") +zombies = Array[ExtResource("5_8miqm")]([null, null, ExtResource("6_s62qb"), null, null]) + +[sub_resource type="Resource" id="Resource_s62qb"] +script = ExtResource("3_hlq35") +zombiesOrdered = Array[ExtResource("4_8miqm")]([SubResource("Resource_yvl2y")]) +events = Array[ExtResource("2_8aewt")]([]) +customWaveDelay = 0.0 + +[sub_resource type="Resource" id="Resource_cafd0"] +script = ExtResource("4_8miqm") +zombies = Array[ExtResource("5_8miqm")]([null, ExtResource("7_yvl2y"), null, ExtResource("7_yvl2y"), null]) + +[sub_resource type="Resource" id="Resource_y8rkm"] +script = ExtResource("4_8miqm") +zombies = Array[ExtResource("5_8miqm")]([ExtResource("8_ulhin"), null, ExtResource("8_ulhin"), null, ExtResource("8_ulhin")]) + +[sub_resource type="Resource" id="Resource_ulhin"] +script = ExtResource("3_hlq35") +zombiesOrdered = Array[ExtResource("4_8miqm")]([SubResource("Resource_cafd0"), SubResource("Resource_y8rkm")]) +events = Array[ExtResource("2_8aewt")]([]) +customWaveDelay = 0.0 + +[sub_resource type="Resource" id="Resource_n6yt3"] +script = ExtResource("4_8miqm") +zombies = Array[ExtResource("5_8miqm")]([null, ExtResource("9_ulhin"), ExtResource("9_ulhin"), ExtResource("9_ulhin"), null]) + +[sub_resource type="Resource" id="Resource_8h2xm"] +script = ExtResource("4_8miqm") +zombies = Array[ExtResource("5_8miqm")]([ExtResource("8_ulhin"), ExtResource("7_yvl2y"), ExtResource("6_s62qb"), ExtResource("7_yvl2y"), ExtResource("8_ulhin")]) + +[sub_resource type="Resource" id="Resource_dbrq5"] +script = ExtResource("3_hlq35") +zombiesOrdered = Array[ExtResource("4_8miqm")]([SubResource("Resource_n6yt3"), SubResource("Resource_8h2xm")]) +events = Array[ExtResource("2_8aewt")]([]) +customWaveDelay = 0.0 + +[resource] +script = ExtResource("1_qb1ge") +startSun = 50.0 +wavePercentage = 0.5 +standardWaveDelay = 8.0 +initialWaveDelay = 0.0 +waves = [SubResource("Resource_s62qb"), SubResource("Resource_ulhin"), SubResource("Resource_dbrq5")] +metadata/_custom_type_script = "uid://bximdujbkj2n4" diff --git a/resources/levels/testlvl.tres b/resources/levels/testlvl.tres deleted file mode 100644 index dae08f3..0000000 --- a/resources/levels/testlvl.tres +++ /dev/null @@ -1,36 +0,0 @@ -[gd_resource type="Resource" script_class="AdventureLevelResource" load_steps=7 format=3 uid="uid://bx1wnrgickeyd"] - -[ext_resource type="Script" uid="uid://bximdujbkj2n4" path="res://addons/pvzadventure/AdventureLevelResource.cs" id="1_ed2ji"] -[ext_resource type="Script" uid="uid://7rptlb5qr3b6" path="res://addons/pvzadventure/WaveData.cs" id="2_46l53"] - -[sub_resource type="Resource" id="Resource_46l53"] -script = ExtResource("2_46l53") -zombiesOrdered = null -spawns = null -customWaveDelay = 0.0 - -[sub_resource type="Resource" id="Resource_yo1i5"] -script = ExtResource("2_46l53") -zombiesOrdered = null -spawns = null -customWaveDelay = 0.0 - -[sub_resource type="Resource" id="Resource_xqi0a"] -script = ExtResource("2_46l53") -zombiesOrdered = null -spawns = null -customWaveDelay = 0.0 - -[sub_resource type="Resource" id="Resource_ak572"] -script = ExtResource("2_46l53") -zombiesOrdered = null -spawns = null -customWaveDelay = 0.0 - -[resource] -script = ExtResource("1_ed2ji") -startSun = 0.0 -wavePercentage = 0.0 -standardWaveDelay = 0.0 -waves = [SubResource("Resource_46l53"), SubResource("Resource_yo1i5"), SubResource("Resource_xqi0a"), SubResource("Resource_ak572")] -metadata/_custom_type_script = "uid://bximdujbkj2n4" diff --git a/resources/levels/testlvl2.tres b/resources/levels/testlvl2.tres deleted file mode 100644 index d260abf..0000000 --- a/resources/levels/testlvl2.tres +++ /dev/null @@ -1,10 +0,0 @@ -[gd_resource type="Resource" script_class="AdventureLevelResource" load_steps=2 format=3 uid="uid://cc1jjkslvh8bq"] - -[ext_resource type="Script" uid="uid://bximdujbkj2n4" path="res://addons/pvzadventure/AdventureLevelResource.cs" id="1_db8ej"] - -[resource] -script = ExtResource("1_db8ej") -startSun = 0.0 -wavePercentage = 0.0 -standardWaveDelay = 0.0 -waves = [] diff --git a/scenes/templates/level_template.tscn b/scenes/templates/level_template.tscn index f8f31e3..f7efb68 100644 --- a/scenes/templates/level_template.tscn +++ b/scenes/templates/level_template.tscn @@ -1,31 +1,362 @@ -[gd_scene load_steps=6 format=3 uid="uid://dd3yegl1xo44m"] +[gd_scene load_steps=26 format=3 uid="uid://dd3yegl1xo44m"] [ext_resource type="Script" uid="uid://bndu1h5kgcde8" path="res://scripts/level/RuntimeLevelData.cs" id="1_31ltw"] +[ext_resource type="Script" uid="uid://bso32xkw738sy" path="res://scripts/level/PoolContainer.cs" id="2_s5sti"] [ext_resource type="PackedScene" uid="uid://devn21c7luf45" path="res://scenes/level components/field_controller.tscn" id="2_w4oj7"] -[ext_resource type="PackedScene" uid="uid://cg8713v6c5w15" path="res://scenes/level components/pools.tscn" id="3_r1g7l"] +[ext_resource type="Script" uid="uid://blpu7t8tf6277" path="res://scripts/particles/FallFloor.cs" id="3_4bmqp"] [ext_resource type="PackedScene" uid="uid://dpxxjfd5lv5sv" path="res://scenes/gui/choose_your_seeds.tscn" id="3_xy2c6"] [ext_resource type="PackedScene" uid="uid://cfnmspei3k4p7" path="res://scenes/gui/runtime_gui.tscn" id="4_okro4"] +[ext_resource type="PackedScene" uid="uid://fm471x22n8kr" path="res://scenes/gui/pause_menu.tscn" id="6_4bmqp"] +[ext_resource type="Texture2D" uid="uid://bt0slphfqhhab" path="res://assets/sprites/atlases/brain.tres" id="7_482ps"] +[ext_resource type="Texture2D" uid="uid://dvldjlg0nr355" path="res://assets/sprites/atlases/atlas1.png" id="8_jg5t3"] +[ext_resource type="Script" uid="uid://btqwxelqxheh3" path="res://scripts/gui/RestartButton.cs" id="9_2ybed"] +[ext_resource type="Script" uid="uid://dpdpv2oyxdna7" path="res://scripts/gui/ExitButton.cs" id="10_nvbnq"] +[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="11_p133p"] +[ext_resource type="AudioStream" uid="uid://bdx83fokp6kha" path="res://assets/audio/sfx/buttonclick.mp3" id="12_6gkho"] +[ext_resource type="Script" uid="uid://c0ov2bq5er0gh" path="res://scripts/plants/LoseZone.cs" id="13_0x4ji"] +[ext_resource type="Script" uid="uid://cslqjdd5wq4rc" path="res://scripts/level/SunSpawner.cs" id="14_y72yf"] +[ext_resource type="PackedScene" uid="uid://bpekho7leatr5" path="res://scenes/sun.tscn" id="15_7v6ps"] +[ext_resource type="PackedScene" uid="uid://jm7wm08d2mi7" path="res://scenes/level components/right_boundary_marker.tscn" id="16_s7icd"] +[ext_resource type="PackedScene" uid="uid://plc2gus4ppds" path="res://scenes/level components/left_boundary_marker.tscn" id="17_8qqc4"] + +[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_482ps"] +distance = -9.0 + +[sub_resource type="Animation" id="Animation_r81g1"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Fade:self_modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Fade/Brainz:self_modulate") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Fade:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("VBoxContainer:visible") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("VBoxContainer:modulate") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} + +[sub_resource type="Animation" id="Animation_h1ksq"] +resource_name = "fade" +length = 4.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Fade:self_modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Fade/Brainz:self_modulate") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 1.6, 2.2), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 1, 1, 1)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Fade:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0.0333333), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("VBoxContainer:visible") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0.0333333), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("VBoxContainer:modulate") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0, 2.96667, 4), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 1, 1, 1)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_pb02i"] +_data = { +&"RESET": SubResource("Animation_r81g1"), +&"fade": SubResource("Animation_h1ksq") +} + +[sub_resource type="AtlasTexture" id="AtlasTexture_y5tw7"] +atlas = ExtResource("8_jg5t3") +region = Rect2(255, 221, 118, 20) + +[sub_resource type="AtlasTexture" id="AtlasTexture_i7rp7"] +atlas = ExtResource("8_jg5t3") +region = Rect2(194, 221, 61, 20) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_xsaqy"] +size = Vector2(244, 399) [node name="level_template" type="Node2D"] -[node name="Camera2D" type="Camera2D" parent="."] +[node name="MainAnimationPlayer" type="AnimationPlayer" parent="."] -[node name="RuntimeLevelData" type="Node" parent="."] +[node name="Data" type="Node" parent="."] script = ExtResource("1_31ltw") +SunCount = 50.0 -[node name="Pools" parent="." instance=ExtResource("3_r1g7l")] +[node name="Camera2D" type="Camera2D" parent="."] +position = Vector2(481, 200) -[node name="GameUserInterface" type="CanvasLayer" parent="."] -layer = 10 +[node name="Pools" type="Node2D" parent="." node_paths=PackedStringArray("Zombies", "Plants", "Projectiles", "Structures", "Particles")] +script = ExtResource("2_s5sti") +Zombies = NodePath("Zombies") +Plants = NodePath("Plants") +Projectiles = NodePath("Projectiles") +Structures = NodePath("Structures") +Particles = NodePath("Particles") -[node name="ChooseYourSeeds" parent="GameUserInterface" instance=ExtResource("3_xy2c6")] +[node name="Zombies" type="Node2D" parent="Pools"] +z_index = 3 +y_sort_enabled = true + +[node name="Plants" type="Node2D" parent="Pools"] +z_index = 1 +y_sort_enabled = true + +[node name="Projectiles" type="Node2D" parent="Pools"] +z_index = 4 +y_sort_enabled = true + +[node name="Structures" type="Node2D" parent="Pools"] +z_index = 2 +y_sort_enabled = true + +[node name="Particles" type="Node2D" parent="Pools"] +z_index = 5 + +[node name="Lines" type="Node2D" parent="."] +script = ExtResource("3_4bmqp") + +[node name="Floor" type="StaticBody2D" parent="Lines"] +position = Vector2(528, 247) +collision_layer = 64 +collision_mask = 0 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Lines/Floor"] +shape = SubResource("WorldBoundaryShape2D_482ps") + +[node name="Floor2" type="StaticBody2D" parent="Lines"] +position = Vector2(528, 306) +collision_layer = 64 +collision_mask = 0 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Lines/Floor2"] +shape = SubResource("WorldBoundaryShape2D_482ps") + +[node name="Floor3" type="StaticBody2D" parent="Lines"] +position = Vector2(528, 367) +collision_layer = 64 +collision_mask = 0 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Lines/Floor3"] +shape = SubResource("WorldBoundaryShape2D_482ps") + +[node name="Floor4" type="StaticBody2D" parent="Lines"] +position = Vector2(528, 183) +collision_layer = 64 +collision_mask = 0 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Lines/Floor4"] +shape = SubResource("WorldBoundaryShape2D_482ps") + +[node name="Floor5" type="StaticBody2D" parent="Lines"] +position = Vector2(528, 132) +collision_layer = 64 +collision_mask = 0 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Lines/Floor5"] +shape = SubResource("WorldBoundaryShape2D_482ps") + +[node name="Background" type="CanvasLayer" parent="."] +layer = -2 +follow_viewport_enabled = true + +[node name="HUD" type="CanvasLayer" parent="."] +layer = -1 + +[node name="RuntimeGUI" parent="HUD" instance=ExtResource("4_okro4")] metadata/_edit_lock_ = true -[node name="RuntimeGUI" parent="GameUserInterface" instance=ExtResource("4_okro4")] - -[node name="OverlayGameobjects" type="CanvasLayer" parent="."] +[node name="Overlay" type="CanvasLayer" parent="."] layer = 6 +follow_viewport_enabled = true -[node name="FieldController" parent="OverlayGameobjects" instance=ExtResource("2_w4oj7")] +[node name="FieldController" parent="Overlay" instance=ExtResource("2_w4oj7")] -[node name="MainAnimationPlayer" type="AnimationPlayer" parent="."] +[node name="GUI" type="CanvasLayer" parent="."] +layer = 10 + +[node name="ChooseYourSeeds" parent="GUI" instance=ExtResource("3_xy2c6")] +metadata/_edit_lock_ = true + +[node name="PauseMenu" parent="GUI" instance=ExtResource("6_4bmqp")] +visible = false + +[node name="GameOverScreen" type="CanvasLayer" parent="."] +process_mode = 3 +layer = 11 + +[node name="Fade" type="ColorRect" parent="GameOverScreen"] +visible = false +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0, 0, 0, 1) + +[node name="Brainz" type="TextureRect" parent="GameOverScreen/Fade"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 141.0 +offset_top = 146.0 +offset_right = -143.0 +offset_bottom = -137.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("7_482ps") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="GameOverScreen"] +libraries = { +&"": SubResource("AnimationLibrary_pb02i") +} + +[node name="VBoxContainer" type="VBoxContainer" parent="GameOverScreen"] +visible = false +offset_left = 230.0 +offset_top = 273.0 +offset_right = 372.0 +offset_bottom = 365.0 + +[node name="RestartButton" type="Button" parent="GameOverScreen/VBoxContainer"] +layout_mode = 2 +icon = SubResource("AtlasTexture_y5tw7") +icon_alignment = 1 +script = ExtResource("9_2ybed") + +[node name="ExitButton" type="Button" parent="GameOverScreen/VBoxContainer"] +layout_mode = 2 +icon = SubResource("AtlasTexture_i7rp7") +icon_alignment = 1 +script = ExtResource("10_nvbnq") + +[node name="TapPlayer" type="Node" parent="GameOverScreen/VBoxContainer"] +script = ExtResource("11_p133p") +audioStream = ExtResource("12_6gkho") +channel = "button" +metadata/_custom_type_script = "uid://c36bj8u7jghc7" + +[node name="GameOverZombie" type="CanvasLayer" parent="."] +process_mode = 3 +layer = 12 +follow_viewport_enabled = true + +[node name="LoseZone" type="Node2D" parent="GameOverZombie"] +script = ExtResource("13_0x4ji") + +[node name="Hitbox" type="Area2D" parent="GameOverZombie/LoseZone"] +collision_layer = 2 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="GameOverZombie/LoseZone/Hitbox"] +position = Vector2(122, 199.5) +shape = SubResource("RectangleShape2D_xsaqy") + +[node name="SunSpawner" type="Node" parent="."] +script = ExtResource("14_y72yf") +SunScene = ExtResource("15_7v6ps") + +[node name="Timer" type="Timer" parent="SunSpawner"] +wait_time = 10.0 +autostart = true + +[node name="right_boundary_marker" parent="." instance=ExtResource("16_s7icd")] +position = Vector2(755, 376) + +[node name="LeftBoundaryMarker" parent="." instance=ExtResource("17_8qqc4")] +position = Vector2(305, 76) + +[connection signal="pressed" from="GameOverScreen/VBoxContainer/RestartButton" to="GameOverScreen/VBoxContainer/TapPlayer" method="Play"] +[connection signal="pressed" from="GameOverScreen/VBoxContainer/ExitButton" to="GameOverScreen/VBoxContainer/TapPlayer" method="Play"] +[connection signal="timeout" from="SunSpawner/Timer" to="SunSpawner" method="Spawn"] diff --git a/scenes/templates/standard_players_house.tscn b/scenes/templates/standard_players_house.tscn new file mode 100644 index 0000000..b13a581 --- /dev/null +++ b/scenes/templates/standard_players_house.tscn @@ -0,0 +1,15 @@ +[gd_scene load_steps=4 format=3 uid="uid://bu0dh5ct387xu"] + +[ext_resource type="PackedScene" uid="uid://dd3yegl1xo44m" path="res://scenes/templates/level_template.tscn" id="1_vdv3d"] +[ext_resource type="Resource" uid="uid://br3364jty1j0i" path="res://resources/levels/test_level_for_execution.tres" id="2_bpfdr"] +[ext_resource type="Texture2D" uid="uid://b0tb2hjum40aw" path="res://assets/sprites/background_summer.png" id="3_lsqv3"] + +[node name="StandardPlayersHouse" instance=ExtResource("1_vdv3d")] + +[node name="Data" parent="." index="1"] +levelResource = ExtResource("2_bpfdr") + +[node name="Background" type="Sprite2D" parent="Background" index="0"] +position = Vector2(500, 200) +texture = ExtResource("3_lsqv3") +metadata/_edit_lock_ = true diff --git a/scripts/level/RuntimeLevelData.cs b/scripts/level/RuntimeLevelData.cs index f26c2e9..56b23fe 100644 --- a/scripts/level/RuntimeLevelData.cs +++ b/scripts/level/RuntimeLevelData.cs @@ -16,6 +16,8 @@ public partial class RuntimeLevelData : Node [Export] public float SunCount { get; private set; } = 0; + [Export] + public AdventureLevelResource levelResource; public event Action OnLevelStateChanged; public static RuntimeLevelData Instance { get; private set; }