level template is now more playable
This commit is contained in:
parent
2aba43e6b2
commit
e52c98470b
3 changed files with 338 additions and 368 deletions
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=28 format=3 uid="uid://dd3yegl1xo44m"]
|
||||
[gd_scene load_steps=41 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"]
|
||||
|
|
@ -6,10 +6,12 @@
|
|||
[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="Texture2D" uid="uid://b0tb2hjum40aw" path="res://assets/sprites/background_summer.png" id="4_y72yf"]
|
||||
[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="PackedScene" uid="uid://c668qnmmpli5r" path="res://scenes/gui/wave_progress.tscn" id="9_7v6ps"]
|
||||
[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"]
|
||||
|
|
@ -19,6 +21,257 @@
|
|||
[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"]
|
||||
[ext_resource type="Script" uid="uid://812ldoyxd5n5" path="res://scripts/level/LoseCheckbox.cs" id="19_482ps"]
|
||||
[ext_resource type="Script" uid="uid://1lkhoh43h86m" path="res://scripts/level/GameTimer.cs" id="19_s7icd"]
|
||||
[ext_resource type="Script" uid="uid://84gvlkflxdhk" path="res://scripts/level/zombe_spawners/RowSpawner.cs" id="22_8qqc4"]
|
||||
[ext_resource type="Script" uid="uid://puqxp2xeg1r2" path="res://scripts/level/LevelRunner.cs" id="23_8vb7v"]
|
||||
[ext_resource type="Script" uid="uid://bc3s06ejbotma" path="res://scripts/gui/ZombieLevelPreviewer.cs" id="24_y5tw7"]
|
||||
[ext_resource type="Script" uid="uid://b31mnk4enldc4" path="res://scripts/level/InitialPackedSceneSpawner.cs" id="26_i7rp7"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_vbgdr"]
|
||||
resource_name = "CYS_Sequence"
|
||||
length = 3.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Camera2D:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0.666667, 1.5),
|
||||
"transitions": PackedFloat32Array(0.5, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(481, 200), Vector2(700, 200)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("GUI/ChooseYourSeeds:anchor_top")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 2, 3),
|
||||
"transitions": PackedFloat32Array(1, 0.5, 1),
|
||||
"update": 0,
|
||||
"values": [1.0, 1.0, 0.0]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("GUI/ChooseYourSeeds:anchor_bottom")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 2, 3),
|
||||
"transitions": PackedFloat32Array(1, 0.5, 1),
|
||||
"update": 0,
|
||||
"values": [2.0, 2.0, 1.0]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_lrlbv"]
|
||||
resource_name = "FW_Sequence"
|
||||
length = 3.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("GUI/ReadySetPlant:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 3),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("GUI/ReadySetPlant:text")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": ["final_wave"]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_pqj5f"]
|
||||
resource_name = "HW_Sequence"
|
||||
length = 6.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("GUI/ReadySetPlant:text")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": ["huge_wave"]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("GUI/ReadySetPlant:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 6),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_8ajos"]
|
||||
resource_name = "PG_Sequence"
|
||||
length = 5.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("GUI/ChooseYourSeeds:anchor_top")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(0.5, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 1.0]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("GUI/ChooseYourSeeds:anchor_bottom")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(0.5, 1),
|
||||
"update": 0,
|
||||
"values": [1.0, 2.0]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Camera2D:position")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0.7, 1.5334),
|
||||
"transitions": PackedFloat32Array(0.5, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(700, 200), Vector2(481, 200)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("GUI/ReadySetPlant:text")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(2, 2.667, 3.334),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 1,
|
||||
"values": ["ready", "set", "plant"]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("GUI/ReadySetPlant:visible")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0, 2, 5),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true, false]
|
||||
}
|
||||
tracks/5/type = "method"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Data")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(3.33333),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [2],
|
||||
"method": &"SetLevelState"
|
||||
}]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_yw4uo"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Camera2D:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(481, 200)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("GUI/ChooseYourSeeds:anchor_top")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [1.0]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("GUI/ChooseYourSeeds:anchor_bottom")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [2.0]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("GUI/ReadySetPlant:text")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [""]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("GUI/ReadySetPlant:visible")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_yw4uo"]
|
||||
_data = {
|
||||
&"CYS_Sequence": SubResource("Animation_vbgdr"),
|
||||
&"FW_Sequence": SubResource("Animation_lrlbv"),
|
||||
&"HW_Sequence": SubResource("Animation_pqj5f"),
|
||||
&"PG_Sequence": SubResource("Animation_8ajos"),
|
||||
&"RESET": SubResource("Animation_yw4uo")
|
||||
}
|
||||
|
||||
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_482ps"]
|
||||
distance = -9.0
|
||||
|
|
@ -164,19 +417,26 @@ region = Rect2(255, 221, 118, 20)
|
|||
atlas = ExtResource("8_jg5t3")
|
||||
region = Rect2(194, 221, 61, 20)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_xsaqy"]
|
||||
size = Vector2(244, 399)
|
||||
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_vbgdr"]
|
||||
normal = Vector2(1, 0)
|
||||
distance = 135.0
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_jg5t3"]
|
||||
size = Vector2(282, 399)
|
||||
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_yw4uo"]
|
||||
normal = Vector2(1, 0)
|
||||
distance = 139.0
|
||||
|
||||
[node name="level_template" type="Node2D"]
|
||||
[node name="StandardLevel" type="Node2D"]
|
||||
|
||||
[node name="MainAnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_yw4uo")
|
||||
}
|
||||
|
||||
[node name="Data" type="Node" parent="."]
|
||||
[node name="Data" type="Node" parent="." node_paths=PackedStringArray("levelRunner", "player")]
|
||||
script = ExtResource("1_31ltw")
|
||||
SunCount = 50.0
|
||||
levelRunner = NodePath("../LevelRunner")
|
||||
player = NodePath("../MainAnimationPlayer")
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="."]
|
||||
position = Vector2(481, 200)
|
||||
|
|
@ -255,6 +515,11 @@ shape = SubResource("WorldBoundaryShape2D_482ps")
|
|||
layer = -2
|
||||
follow_viewport_enabled = true
|
||||
|
||||
[node name="Background" type="Sprite2D" parent="Background"]
|
||||
position = Vector2(500, 200)
|
||||
texture = ExtResource("4_y72yf")
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="HUD" type="CanvasLayer" parent="."]
|
||||
layer = -1
|
||||
|
||||
|
|
@ -271,11 +536,36 @@ follow_viewport_enabled = true
|
|||
layer = 10
|
||||
|
||||
[node name="ChooseYourSeeds" parent="GUI" instance=ExtResource("3_xy2c6")]
|
||||
anchors_preset = -1
|
||||
anchor_top = 1.0
|
||||
anchor_bottom = 2.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="PauseMenu" parent="GUI" instance=ExtResource("6_4bmqp")]
|
||||
visible = false
|
||||
|
||||
[node name="WaveProgress" parent="GUI" instance=ExtResource("9_7v6ps")]
|
||||
visible = false
|
||||
offset_left = 443.0
|
||||
offset_top = 377.0
|
||||
offset_right = 443.2
|
||||
offset_bottom = 377.0
|
||||
|
||||
[node name="ReadySetPlant" type="RichTextLabel" parent="GUI"]
|
||||
visible = false
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
bbcode_enabled = true
|
||||
shortcut_keys_enabled = false
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="GameOverScreen" type="CanvasLayer" parent="."]
|
||||
process_mode = 3
|
||||
layer = 11
|
||||
|
|
@ -345,7 +635,7 @@ collision_layer = 2
|
|||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="GameOverZombie/LoseZone/Hitbox"]
|
||||
position = Vector2(122, 199.5)
|
||||
shape = SubResource("RectangleShape2D_xsaqy")
|
||||
shape = SubResource("WorldBoundaryShape2D_vbgdr")
|
||||
|
||||
[node name="SunSpawner" type="Node" parent="."]
|
||||
script = ExtResource("14_y72yf")
|
||||
|
|
@ -353,7 +643,7 @@ SunScene = ExtResource("15_7v6ps")
|
|||
|
||||
[node name="Timer" type="Timer" parent="SunSpawner"]
|
||||
wait_time = 10.0
|
||||
autostart = true
|
||||
script = ExtResource("19_s7icd")
|
||||
|
||||
[node name="right_boundary_marker" parent="." instance=ExtResource("16_s7icd")]
|
||||
position = Vector2(755, 376)
|
||||
|
|
@ -361,14 +651,50 @@ position = Vector2(755, 376)
|
|||
[node name="LeftBoundaryMarker" parent="." instance=ExtResource("17_8qqc4")]
|
||||
position = Vector2(305, 76)
|
||||
|
||||
[node name="Checkbox" type="Area2D" parent="."]
|
||||
[node name="RowSpawner" type="Node2D" parent="." node_paths=PackedStringArray("delayTimer", "runner")]
|
||||
position = Vector2(837, 76)
|
||||
script = ExtResource("22_8qqc4")
|
||||
delayTimer = NodePath("DelayTimer")
|
||||
runner = NodePath("../LevelRunner")
|
||||
|
||||
[node name="DelayTimer" type="Timer" parent="RowSpawner"]
|
||||
wait_time = 2.5
|
||||
|
||||
[node name="LevelRunner" type="Node" parent="." node_paths=PackedStringArray("rowSpawner", "waveTimer")]
|
||||
script = ExtResource("23_8vb7v")
|
||||
rowSpawner = NodePath("../RowSpawner")
|
||||
waveTimer = NodePath("WaveTimer")
|
||||
approachNotificationTime = 5.0
|
||||
|
||||
[node name="WaveTimer" type="Timer" parent="LevelRunner"]
|
||||
one_shot = true
|
||||
|
||||
[node name="ZombieLevelPrevewer" type="Node2D" parent="."]
|
||||
y_sort_enabled = true
|
||||
position = Vector2(855, 76)
|
||||
script = ExtResource("24_y5tw7")
|
||||
|
||||
[node name="Checkbox" type="Area2D" parent="." node_paths=PackedStringArray("gameOverLayer", "fadeAnimation")]
|
||||
collision_mask = 24
|
||||
script = ExtResource("19_482ps")
|
||||
gameOverLayer = NodePath("../GameOverZombie")
|
||||
fadeAnimation = NodePath("../GameOverScreen/AnimationPlayer")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Checkbox"]
|
||||
position = Vector2(141, 199.5)
|
||||
shape = SubResource("RectangleShape2D_jg5t3")
|
||||
shape = SubResource("WorldBoundaryShape2D_yw4uo")
|
||||
|
||||
[node name="InitialSpawner" type="Node" parent="."]
|
||||
script = ExtResource("26_i7rp7")
|
||||
|
||||
[connection signal="OnLevelStateChanged" from="Data" to="SunSpawner/Timer" method="OnLevelStateChanged"]
|
||||
[connection signal="OnLevelStateChanged" from="Data" to="ZombieLevelPrevewer" method="OnLevelStateChanged"]
|
||||
[connection signal="OnLevelStateChanged" from="Data" to="InitialSpawner" method="OnLevelStateChanged"]
|
||||
[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"]
|
||||
[connection signal="FinalWaveInitiated" from="LevelRunner" to="MainAnimationPlayer" method="play" binds= ["FW_Sequence"]]
|
||||
[connection signal="HugeWaveApproachingCallback" from="LevelRunner" to="MainAnimationPlayer" method="play" binds= ["HW_Sequence"]]
|
||||
[connection signal="HugeWaveInitiated" from="LevelRunner" to="GUI/WaveProgress" method="OnHugeWaveApproached"]
|
||||
[connection signal="ResourceChanged" from="LevelRunner" to="GUI/WaveProgress" method="SetLevelData"]
|
||||
[connection signal="WaveChanged" from="LevelRunner" to="GUI/WaveProgress" method="OnWaveChanged"]
|
||||
|
|
|
|||
|
|
@ -1,356 +0,0 @@
|
|||
[gd_scene load_steps=17 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="Texture2D" uid="uid://b0tb2hjum40aw" path="res://assets/sprites/background_summer.png" id="3_lsqv3"]
|
||||
[ext_resource type="Script" uid="uid://1lkhoh43h86m" path="res://scripts/level/GameTimer.cs" id="4_8ajos"]
|
||||
[ext_resource type="Script" uid="uid://84gvlkflxdhk" path="res://scripts/level/zombe_spawners/RowSpawner.cs" id="4_kn7hc"]
|
||||
[ext_resource type="Script" uid="uid://puqxp2xeg1r2" path="res://scripts/level/LevelRunner.cs" id="5_vbgdr"]
|
||||
[ext_resource type="PackedScene" uid="uid://c668qnmmpli5r" path="res://scenes/gui/wave_progress.tscn" id="6_yw4uo"]
|
||||
[ext_resource type="Script" uid="uid://bc3s06ejbotma" path="res://scripts/gui/ZombieLevelPreviewer.cs" id="7_8ajos"]
|
||||
[ext_resource type="Script" uid="uid://b31mnk4enldc4" path="res://scripts/level/InitialPackedSceneSpawner.cs" id="8_pqj5f"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_vbgdr"]
|
||||
resource_name = "CYS_Sequence"
|
||||
length = 3.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Camera2D:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0.666667, 1.5),
|
||||
"transitions": PackedFloat32Array(0.5, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(481, 200), Vector2(700, 200)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("GUI/ChooseYourSeeds:anchor_top")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 2, 3),
|
||||
"transitions": PackedFloat32Array(1, 0.5, 1),
|
||||
"update": 0,
|
||||
"values": [1.0, 1.0, 0.0]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("GUI/ChooseYourSeeds:anchor_bottom")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 2, 3),
|
||||
"transitions": PackedFloat32Array(1, 0.5, 1),
|
||||
"update": 0,
|
||||
"values": [2.0, 2.0, 1.0]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_lrlbv"]
|
||||
resource_name = "FW_Sequence"
|
||||
length = 3.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("GUI/ReadySetPlant:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 3),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("GUI/ReadySetPlant:text")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": ["final_wave"]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_pqj5f"]
|
||||
resource_name = "HW_Sequence"
|
||||
length = 6.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("GUI/ReadySetPlant:text")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": ["huge_wave"]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("GUI/ReadySetPlant:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 6),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_8ajos"]
|
||||
resource_name = "PG_Sequence"
|
||||
length = 5.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("GUI/ChooseYourSeeds:anchor_top")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(0.5, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 1.0]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("GUI/ChooseYourSeeds:anchor_bottom")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(0.5, 1),
|
||||
"update": 0,
|
||||
"values": [1.0, 2.0]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Camera2D:position")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0.7, 1.5334),
|
||||
"transitions": PackedFloat32Array(0.5, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(700, 200), Vector2(481, 200)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("GUI/ReadySetPlant:text")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(2, 2.667, 3.334),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 1,
|
||||
"values": ["ready", "set", "plant"]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("GUI/ReadySetPlant:visible")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0, 2, 5),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true, false]
|
||||
}
|
||||
tracks/5/type = "method"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Data")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(3.33333),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [2],
|
||||
"method": &"SetLevelState"
|
||||
}]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_yw4uo"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Camera2D:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(481, 200)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("GUI/ChooseYourSeeds:anchor_top")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [1.0]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("GUI/ChooseYourSeeds:anchor_bottom")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [2.0]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("GUI/ReadySetPlant:text")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [""]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("GUI/ReadySetPlant:visible")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_yw4uo"]
|
||||
_data = {
|
||||
&"CYS_Sequence": SubResource("Animation_vbgdr"),
|
||||
&"FW_Sequence": SubResource("Animation_lrlbv"),
|
||||
&"HW_Sequence": SubResource("Animation_pqj5f"),
|
||||
&"PG_Sequence": SubResource("Animation_8ajos"),
|
||||
&"RESET": SubResource("Animation_yw4uo")
|
||||
}
|
||||
|
||||
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_vbgdr"]
|
||||
normal = Vector2(1, 0)
|
||||
distance = 135.0
|
||||
|
||||
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_yw4uo"]
|
||||
normal = Vector2(1, 0)
|
||||
distance = 139.0
|
||||
|
||||
[node name="StandardPlayersHouse" instance=ExtResource("1_vdv3d")]
|
||||
|
||||
[node name="MainAnimationPlayer" parent="." index="0"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_yw4uo")
|
||||
}
|
||||
|
||||
[node name="Data" parent="." index="1" node_paths=PackedStringArray("levelRunner", "player")]
|
||||
levelRunner = NodePath("../LevelRunner")
|
||||
player = NodePath("../MainAnimationPlayer")
|
||||
|
||||
[node name="Background" type="Sprite2D" parent="Background" index="0"]
|
||||
position = Vector2(500, 200)
|
||||
texture = ExtResource("3_lsqv3")
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="ChooseYourSeeds" parent="GUI" index="0"]
|
||||
anchors_preset = -1
|
||||
anchor_top = 1.0
|
||||
anchor_bottom = 2.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="WaveProgress" parent="GUI" index="2" instance=ExtResource("6_yw4uo")]
|
||||
visible = false
|
||||
offset_left = 443.0
|
||||
offset_top = 377.0
|
||||
offset_right = 443.2
|
||||
offset_bottom = 377.0
|
||||
|
||||
[node name="ReadySetPlant" type="RichTextLabel" parent="GUI" index="3"]
|
||||
visible = false
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
bbcode_enabled = true
|
||||
shortcut_keys_enabled = false
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="CollisionShape2D" parent="GameOverZombie/LoseZone/Hitbox" index="0"]
|
||||
shape = SubResource("WorldBoundaryShape2D_vbgdr")
|
||||
|
||||
[node name="Timer" parent="SunSpawner" index="0"]
|
||||
autostart = false
|
||||
script = ExtResource("4_8ajos")
|
||||
|
||||
[node name="RowSpawner" type="Node2D" parent="." index="14" node_paths=PackedStringArray("delayTimer", "runner")]
|
||||
position = Vector2(837, 76)
|
||||
script = ExtResource("4_kn7hc")
|
||||
delayTimer = NodePath("DelayTimer")
|
||||
runner = NodePath("../LevelRunner")
|
||||
|
||||
[node name="DelayTimer" type="Timer" parent="RowSpawner" index="0"]
|
||||
wait_time = 2.5
|
||||
|
||||
[node name="LevelRunner" type="Node" parent="." index="15" node_paths=PackedStringArray("rowSpawner", "waveTimer")]
|
||||
script = ExtResource("5_vbgdr")
|
||||
rowSpawner = NodePath("../RowSpawner")
|
||||
waveTimer = NodePath("WaveTimer")
|
||||
approachNotificationTime = 5.0
|
||||
|
||||
[node name="WaveTimer" type="Timer" parent="LevelRunner" index="0"]
|
||||
one_shot = true
|
||||
|
||||
[node name="ZombieLevelPrevewer" type="Node2D" parent="." index="16"]
|
||||
y_sort_enabled = true
|
||||
position = Vector2(855, 76)
|
||||
script = ExtResource("7_8ajos")
|
||||
|
||||
[node name="Checkbox" parent="." index="17" node_paths=PackedStringArray("gameOverLayer", "fadeAnimation")]
|
||||
gameOverLayer = NodePath("../GameOverZombie")
|
||||
fadeAnimation = NodePath("../GameOverScreen/AnimationPlayer")
|
||||
|
||||
[node name="CollisionShape2D" parent="Checkbox" index="0"]
|
||||
shape = SubResource("WorldBoundaryShape2D_yw4uo")
|
||||
|
||||
[node name="InitialSpawner" type="Node" parent="." index="18"]
|
||||
script = ExtResource("8_pqj5f")
|
||||
|
||||
[connection signal="OnLevelStateChanged" from="Data" to="SunSpawner/Timer" method="OnLevelStateChanged"]
|
||||
[connection signal="OnLevelStateChanged" from="Data" to="ZombieLevelPrevewer" method="OnLevelStateChanged"]
|
||||
[connection signal="OnLevelStateChanged" from="Data" to="InitialSpawner" method="OnLevelStateChanged"]
|
||||
[connection signal="FinalWaveInitiated" from="LevelRunner" to="MainAnimationPlayer" method="play" binds= ["FW_Sequence"]]
|
||||
[connection signal="HugeWaveApproachingCallback" from="LevelRunner" to="MainAnimationPlayer" method="play" binds= ["HW_Sequence"]]
|
||||
[connection signal="HugeWaveInitiated" from="LevelRunner" to="GUI/WaveProgress" method="OnHugeWaveApproached"]
|
||||
[connection signal="ResourceChanged" from="LevelRunner" to="GUI/WaveProgress" method="SetLevelData"]
|
||||
[connection signal="WaveChanged" from="LevelRunner" to="GUI/WaveProgress" method="OnWaveChanged"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue