final wave animation
This commit is contained in:
parent
6d9edc0dc2
commit
f2e4768b7e
5 changed files with 74 additions and 2 deletions
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_scene load_steps=13 format=3 uid="uid://bu0dh5ct387xu"]
|
[gd_scene load_steps=15 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="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="Resource" uid="uid://br3364jty1j0i" path="res://resources/levels/test_level_for_execution.tres" id="2_bpfdr"]
|
||||||
|
|
@ -188,9 +188,67 @@ tracks/4/keys = {
|
||||||
"values": [false]
|
"values": [false]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[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_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="AnimationLibrary" id="AnimationLibrary_yw4uo"]
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_yw4uo"]
|
||||||
_data = {
|
_data = {
|
||||||
&"CYS_Sequence": SubResource("Animation_vbgdr"),
|
&"CYS_Sequence": SubResource("Animation_vbgdr"),
|
||||||
|
&"FW_Sequence": SubResource("Animation_lrlbv"),
|
||||||
|
&"HW_Sequence": SubResource("Animation_pqj5f"),
|
||||||
&"PG_Sequence": SubResource("Animation_8ajos"),
|
&"PG_Sequence": SubResource("Animation_8ajos"),
|
||||||
&"RESET": SubResource("Animation_yw4uo")
|
&"RESET": SubResource("Animation_yw4uo")
|
||||||
}
|
}
|
||||||
|
|
@ -260,6 +318,7 @@ wait_time = 2.5
|
||||||
script = ExtResource("5_vbgdr")
|
script = ExtResource("5_vbgdr")
|
||||||
rowSpawner = NodePath("../RowSpawner")
|
rowSpawner = NodePath("../RowSpawner")
|
||||||
waveTimer = NodePath("WaveTimer")
|
waveTimer = NodePath("WaveTimer")
|
||||||
|
approachNotificationTime = 5.0
|
||||||
|
|
||||||
[node name="WaveTimer" type="Timer" parent="LevelRunner" index="0"]
|
[node name="WaveTimer" type="Timer" parent="LevelRunner" index="0"]
|
||||||
one_shot = true
|
one_shot = true
|
||||||
|
|
@ -271,6 +330,8 @@ fadeAnimation = NodePath("../GameOverScreen/AnimationPlayer")
|
||||||
[node name="CollisionShape2D" parent="Checkbox" index="0"]
|
[node name="CollisionShape2D" parent="Checkbox" index="0"]
|
||||||
shape = SubResource("WorldBoundaryShape2D_yw4uo")
|
shape = SubResource("WorldBoundaryShape2D_yw4uo")
|
||||||
|
|
||||||
|
[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="HugeWaveInitiated" from="LevelRunner" to="GUI/WaveProgress" method="OnHugeWaveApproached"]
|
||||||
[connection signal="ResourceChanged" from="LevelRunner" to="GUI/WaveProgress" method="SetLevelData"]
|
[connection signal="ResourceChanged" from="LevelRunner" to="GUI/WaveProgress" method="SetLevelData"]
|
||||||
[connection signal="WaveChanged" from="LevelRunner" to="GUI/WaveProgress" method="OnWaveChanged"]
|
[connection signal="WaveChanged" from="LevelRunner" to="GUI/WaveProgress" method="OnWaveChanged"]
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ public partial class LevelRunner : Node
|
||||||
[Signal] public delegate void WaveChangedEventHandler(int to);
|
[Signal] public delegate void WaveChangedEventHandler(int to);
|
||||||
[Signal] public delegate void HugeWaveApproachingCallbackEventHandler();
|
[Signal] public delegate void HugeWaveApproachingCallbackEventHandler();
|
||||||
[Signal] public delegate void HugeWaveInitiatedEventHandler(int waveNumber);
|
[Signal] public delegate void HugeWaveInitiatedEventHandler(int waveNumber);
|
||||||
|
[Signal] public delegate void FinalWaveInitiatedEventHandler();
|
||||||
|
|
||||||
public override void _Ready()
|
public override void _Ready()
|
||||||
{
|
{
|
||||||
|
|
@ -23,6 +24,7 @@ public partial class LevelRunner : Node
|
||||||
|
|
||||||
public override void _Process(double delta)
|
public override void _Process(double delta)
|
||||||
{
|
{
|
||||||
|
if (waveIndex == resource.waves.Count - 1) return;
|
||||||
if (waveTimer.TimeLeft < approachNotificationTime && resource.waves[waveIndex + 1].isHugeWave && hugeWaveApproaching == false)
|
if (waveTimer.TimeLeft < approachNotificationTime && resource.waves[waveIndex + 1].isHugeWave && hugeWaveApproaching == false)
|
||||||
{
|
{
|
||||||
hugeWaveApproaching = true;
|
hugeWaveApproaching = true;
|
||||||
|
|
@ -48,7 +50,11 @@ public partial class LevelRunner : Node
|
||||||
if (resource.waves[waveIndex].isHugeWave) EmitSignal(SignalName.HugeWaveInitiated, waveIndex);
|
if (resource.waves[waveIndex].isHugeWave) EmitSignal(SignalName.HugeWaveInitiated, waveIndex);
|
||||||
rowSpawner.Add(resource.waves[waveIndex].zombiesOrdered);
|
rowSpawner.Add(resource.waves[waveIndex].zombiesOrdered);
|
||||||
|
|
||||||
if (waveIndex == resource.waves.Count - 1) return;
|
if (waveIndex == resource.waves.Count - 1)
|
||||||
|
{
|
||||||
|
EmitSignal(SignalName.FinalWaveInitiated);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
waveTimer.WaitTime = resource.waves[waveIndex].customWaveDelay > 0 ? resource.waves[waveIndex].customWaveDelay : resource.standardWaveDelay;
|
waveTimer.WaitTime = resource.waves[waveIndex].customWaveDelay > 0 ? resource.waves[waveIndex].customWaveDelay : resource.standardWaveDelay;
|
||||||
waveTimer.Start();
|
waveTimer.Start();
|
||||||
|
|
|
||||||
|
|
@ -50,3 +50,8 @@ sfx,SFX,Звуки
|
||||||
music,Music,Музыка
|
music,Music,Музыка
|
||||||
paused,Paused,Игра на паузе
|
paused,Paused,Игра на паузе
|
||||||
splash,Splash,Сплэш
|
splash,Splash,Сплэш
|
||||||
|
huge_wave,[font_size=32][color=red][outline_color=black][outline_size=8]The big wave of zombies is approaching![/outline_size][/outline_color][/color][/font_size],[font_size=32][color=red][outline_color=black][outline_size=8]Большая волна зомби приближается![/outline_size][/outline_color][/color][/font_size]
|
||||||
|
final_wave,[font_size=48][color=red][outline_color=black][outline_size=8]FINAL WAVE[/outline_size][/outline_color][/color][/font_size],[font_size=48][color=red][outline_color=black][outline_size=8]ПОСЛЕДНЯЯ ВОЛНА[/outline_size][/outline_color][/color][/font_size]
|
||||||
|
ready,[font_size=32][color=red][outline_color=black][outline_size=8]Ready[/outline_size][/outline_color][/color][/font_size],[font_size=32][color=red][outline_color=black][outline_size=8]На старт[/outline_size][/outline_color][/color][/font_size]
|
||||||
|
set,[font_size=32][color=red][outline_color=black][outline_size=8]Set[/outline_size][/outline_color][/color][/font_size],[font_size=32][color=red][outline_color=black][outline_size=8]Внимание[/outline_size][/outline_color][/color][/font_size]
|
||||||
|
plant,[font_size=48][color=red][outline_color=black][outline_size=8]PLANT![/outline_size][/outline_color][/color][/font_size],[font_size=48][color=red][outline_color=black][outline_size=8]САЖАЙ![/outline_size][/outline_color][/color][/font_size]
|
||||||
|
|
|
||||||
|
Binary file not shown.
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue