death now cancels effects
This commit is contained in:
parent
9be6a3a169
commit
5c33aacf7f
5 changed files with 66 additions and 34 deletions
|
|
@ -814,7 +814,7 @@ metadata/_edit_lock_ = true
|
||||||
[node name="RightUpperLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"]
|
[node name="RightUpperLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"]
|
||||||
use_parent_material = true
|
use_parent_material = true
|
||||||
position = Vector2(-6, 3)
|
position = Vector2(-6, 3)
|
||||||
scale = Vector2(0.999834, 0.999834)
|
scale = Vector2(0.999836, 0.999836)
|
||||||
rest = Transform2D(1, 0, 0, 1, -6, 3)
|
rest = Transform2D(1, 0, 0, 1, -6, 3)
|
||||||
editor_settings/show_bone_gizmo = false
|
editor_settings/show_bone_gizmo = false
|
||||||
|
|
||||||
|
|
@ -826,13 +826,13 @@ metadata/_edit_lock_ = true
|
||||||
|
|
||||||
[node name="RightLowerLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg"]
|
[node name="RightLowerLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg"]
|
||||||
position = Vector2(-2, 12)
|
position = Vector2(-2, 12)
|
||||||
scale = Vector2(0.999834, 0.999834)
|
scale = Vector2(0.999837, 0.999837)
|
||||||
rest = Transform2D(1, 0, 0, 1, -2, 12)
|
rest = Transform2D(1, 0, 0, 1, -2, 12)
|
||||||
editor_settings/show_bone_gizmo = false
|
editor_settings/show_bone_gizmo = false
|
||||||
|
|
||||||
[node name="RightFoot" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg"]
|
[node name="RightFoot" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg"]
|
||||||
position = Vector2(-2, 14)
|
position = Vector2(-2, 14)
|
||||||
scale = Vector2(0.99983, 0.99983)
|
scale = Vector2(0.999832, 0.999832)
|
||||||
rest = Transform2D(1, 0, 0, 1, -2, 14)
|
rest = Transform2D(1, 0, 0, 1, -2, 14)
|
||||||
auto_calculate_length_and_angle = false
|
auto_calculate_length_and_angle = false
|
||||||
length = 12.0
|
length = 12.0
|
||||||
|
|
@ -855,7 +855,7 @@ metadata/_edit_lock_ = true
|
||||||
[node name="LeftUpperLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"]
|
[node name="LeftUpperLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"]
|
||||||
use_parent_material = true
|
use_parent_material = true
|
||||||
position = Vector2(6, 4)
|
position = Vector2(6, 4)
|
||||||
scale = Vector2(0.999834, 0.999834)
|
scale = Vector2(0.99983, 0.99983)
|
||||||
rest = Transform2D(1, 0, 0, 1, 6, 4)
|
rest = Transform2D(1, 0, 0, 1, 6, 4)
|
||||||
editor_settings/show_bone_gizmo = false
|
editor_settings/show_bone_gizmo = false
|
||||||
|
|
||||||
|
|
@ -867,7 +867,7 @@ metadata/_edit_lock_ = true
|
||||||
|
|
||||||
[node name="LeftLowerLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg"]
|
[node name="LeftLowerLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg"]
|
||||||
position = Vector2(-1, 13)
|
position = Vector2(-1, 13)
|
||||||
scale = Vector2(0.999829, 0.999829)
|
scale = Vector2(0.999835, 0.999835)
|
||||||
rest = Transform2D(1, 0, 0, 1, -1, 13)
|
rest = Transform2D(1, 0, 0, 1, -1, 13)
|
||||||
editor_settings/show_bone_gizmo = false
|
editor_settings/show_bone_gizmo = false
|
||||||
|
|
||||||
|
|
@ -879,7 +879,7 @@ metadata/_edit_lock_ = true
|
||||||
|
|
||||||
[node name="LeftFoot" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg"]
|
[node name="LeftFoot" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg"]
|
||||||
position = Vector2(6, 10)
|
position = Vector2(6, 10)
|
||||||
scale = Vector2(0.999831, 0.999831)
|
scale = Vector2(0.999833, 0.999833)
|
||||||
rest = Transform2D(1, 0, 0, 1, 6, 10)
|
rest = Transform2D(1, 0, 0, 1, 6, 10)
|
||||||
auto_calculate_length_and_angle = false
|
auto_calculate_length_and_angle = false
|
||||||
length = 12.0
|
length = 12.0
|
||||||
|
|
@ -895,7 +895,7 @@ metadata/_edit_lock_ = true
|
||||||
[node name="Body" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"]
|
[node name="Body" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"]
|
||||||
use_parent_material = true
|
use_parent_material = true
|
||||||
position = Vector2(1, -2)
|
position = Vector2(1, -2)
|
||||||
scale = Vector2(0.999829, 0.999829)
|
scale = Vector2(0.99983, 0.99983)
|
||||||
rest = Transform2D(1, 0, 0, 1, 1, -2)
|
rest = Transform2D(1, 0, 0, 1, 1, -2)
|
||||||
editor_settings/show_bone_gizmo = false
|
editor_settings/show_bone_gizmo = false
|
||||||
|
|
||||||
|
|
@ -903,7 +903,7 @@ editor_settings/show_bone_gizmo = false
|
||||||
z_index = -1
|
z_index = -1
|
||||||
use_parent_material = true
|
use_parent_material = true
|
||||||
position = Vector2(-14, -23)
|
position = Vector2(-14, -23)
|
||||||
scale = Vector2(0.999826, 0.999826)
|
scale = Vector2(0.999827, 0.999827)
|
||||||
rest = Transform2D(1, 0, 0, 1, -14, -23)
|
rest = Transform2D(1, 0, 0, 1, -14, -23)
|
||||||
editor_settings/show_bone_gizmo = false
|
editor_settings/show_bone_gizmo = false
|
||||||
|
|
||||||
|
|
@ -915,13 +915,13 @@ metadata/_edit_lock_ = true
|
||||||
|
|
||||||
[node name="RightLowerArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm"]
|
[node name="RightLowerArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm"]
|
||||||
position = Vector2(-2, 15)
|
position = Vector2(-2, 15)
|
||||||
scale = Vector2(0.999827, 0.999827)
|
scale = Vector2(0.999826, 0.999826)
|
||||||
rest = Transform2D(1, 0, 0, 1, -2, 15)
|
rest = Transform2D(1, 0, 0, 1, -2, 15)
|
||||||
editor_settings/show_bone_gizmo = false
|
editor_settings/show_bone_gizmo = false
|
||||||
|
|
||||||
[node name="RightHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm"]
|
[node name="RightHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm"]
|
||||||
position = Vector2(-1, 13)
|
position = Vector2(-1, 13)
|
||||||
scale = Vector2(0.999827, 0.999827)
|
scale = Vector2(0.999829, 0.999829)
|
||||||
rest = Transform2D(1, 0, 0, 1, -1, 13)
|
rest = Transform2D(1, 0, 0, 1, -1, 13)
|
||||||
auto_calculate_length_and_angle = false
|
auto_calculate_length_and_angle = false
|
||||||
length = 8.0
|
length = 8.0
|
||||||
|
|
@ -949,8 +949,8 @@ metadata/_edit_lock_ = true
|
||||||
|
|
||||||
[node name="Tie" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"]
|
[node name="Tie" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"]
|
||||||
position = Vector2(-9, -21)
|
position = Vector2(-9, -21)
|
||||||
rotation = 0.0501575
|
rotation = 0.0566317
|
||||||
skew = -0.000461817
|
skew = -0.0004673
|
||||||
rest = Transform2D(1, 0, 0, 1, -9, -21)
|
rest = Transform2D(1, 0, 0, 1, -9, -21)
|
||||||
auto_calculate_length_and_angle = false
|
auto_calculate_length_and_angle = false
|
||||||
length = 24.0
|
length = 24.0
|
||||||
|
|
@ -965,7 +965,7 @@ metadata/_edit_lock_ = true
|
||||||
|
|
||||||
[node name="Head" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"]
|
[node name="Head" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"]
|
||||||
position = Vector2(-10, -25)
|
position = Vector2(-10, -25)
|
||||||
scale = Vector2(0.999833, 0.999833)
|
scale = Vector2(0.999832, 0.999832)
|
||||||
rest = Transform2D(1, 0, 0, 1, -10, -25)
|
rest = Transform2D(1, 0, 0, 1, -10, -25)
|
||||||
editor_settings/show_bone_gizmo = false
|
editor_settings/show_bone_gizmo = false
|
||||||
|
|
||||||
|
|
@ -995,7 +995,7 @@ offset = Vector2(-2, -2)
|
||||||
metadata/_edit_lock_ = true
|
metadata/_edit_lock_ = true
|
||||||
|
|
||||||
[node name="Left_Eye" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"]
|
[node name="Left_Eye" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"]
|
||||||
position = Vector2(-4, -9.00001)
|
position = Vector2(-4, -9)
|
||||||
scale = Vector2(1, 1)
|
scale = Vector2(1, 1)
|
||||||
texture = SubResource("AtlasTexture_kto0i")
|
texture = SubResource("AtlasTexture_kto0i")
|
||||||
centered = false
|
centered = false
|
||||||
|
|
@ -1003,9 +1003,9 @@ offset = Vector2(-2, -2)
|
||||||
metadata/_edit_lock_ = true
|
metadata/_edit_lock_ = true
|
||||||
|
|
||||||
[node name="Jaw" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"]
|
[node name="Jaw" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"]
|
||||||
position = Vector2(-2.80962, 2.53685)
|
position = Vector2(-3.0007, 2.99882)
|
||||||
rotation = 0.0232306
|
rotation = 0.00549593
|
||||||
scale = Vector2(0.999825, 0.999825)
|
scale = Vector2(0.999828, 0.999828)
|
||||||
texture = SubResource("AtlasTexture_x5uj2")
|
texture = SubResource("AtlasTexture_x5uj2")
|
||||||
centered = false
|
centered = false
|
||||||
offset = Vector2(-12, -2)
|
offset = Vector2(-12, -2)
|
||||||
|
|
@ -1022,7 +1022,7 @@ _observedEntity = NodePath("../../../../../../../..")
|
||||||
|
|
||||||
[node name="Jaw" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"]
|
[node name="Jaw" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"]
|
||||||
position = Vector2(-3, 3)
|
position = Vector2(-3, 3)
|
||||||
scale = Vector2(0.999825, 0.999825)
|
scale = Vector2(0.999828, 0.999828)
|
||||||
rest = Transform2D(1, 0, 0, 1, -3, 3)
|
rest = Transform2D(1, 0, 0, 1, -3, 3)
|
||||||
auto_calculate_length_and_angle = false
|
auto_calculate_length_and_angle = false
|
||||||
length = 11.0
|
length = 11.0
|
||||||
|
|
@ -1056,7 +1056,7 @@ remote_path = NodePath("../../HeadParticle/Head/Left_Eye")
|
||||||
|
|
||||||
[node name="LeftUpperArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"]
|
[node name="LeftUpperArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"]
|
||||||
position = Vector2(-1, -20)
|
position = Vector2(-1, -20)
|
||||||
scale = Vector2(0.999828, 0.999828)
|
scale = Vector2(0.999826, 0.999826)
|
||||||
rest = Transform2D(1, 0, 0, 1, -1, -20)
|
rest = Transform2D(1, 0, 0, 1, -1, -20)
|
||||||
editor_settings/show_bone_gizmo = false
|
editor_settings/show_bone_gizmo = false
|
||||||
|
|
||||||
|
|
@ -1078,8 +1078,8 @@ minTorque = -45.0
|
||||||
maxTorque = 45.0
|
maxTorque = 45.0
|
||||||
|
|
||||||
[node name="Left_Lower_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile"]
|
[node name="Left_Lower_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile"]
|
||||||
rotation = 0.129655
|
rotation = 0.0532462
|
||||||
scale = Vector2(0.999996, 0.999996)
|
scale = Vector2(0.999998, 0.999998)
|
||||||
texture = SubResource("AtlasTexture_auqeq")
|
texture = SubResource("AtlasTexture_auqeq")
|
||||||
centered = false
|
centered = false
|
||||||
offset = Vector2(-5, 0)
|
offset = Vector2(-5, 0)
|
||||||
|
|
@ -1088,8 +1088,8 @@ metadata/_edit_lock_ = true
|
||||||
[node name="Left_Hand" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm"]
|
[node name="Left_Hand" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm"]
|
||||||
show_behind_parent = true
|
show_behind_parent = true
|
||||||
position = Vector2(-0.99983, 12.9978)
|
position = Vector2(-0.99983, 12.9978)
|
||||||
rotation = -0.0993302
|
rotation = -0.0234996
|
||||||
scale = Vector2(0.999658, 0.999658)
|
scale = Vector2(0.99966, 0.99966)
|
||||||
texture = SubResource("AtlasTexture_vlvtp")
|
texture = SubResource("AtlasTexture_vlvtp")
|
||||||
centered = false
|
centered = false
|
||||||
offset = Vector2(-4, -1)
|
offset = Vector2(-4, -1)
|
||||||
|
|
@ -1105,13 +1105,13 @@ _observedEntity = NodePath("../../../../../../../..")
|
||||||
|
|
||||||
[node name="LeftLowerArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm"]
|
[node name="LeftLowerArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm"]
|
||||||
position = Vector2(-2, 14)
|
position = Vector2(-2, 14)
|
||||||
scale = Vector2(0.999827, 0.999827)
|
scale = Vector2(0.999828, 0.999828)
|
||||||
rest = Transform2D(1, 0, 0, 1, -2, 14)
|
rest = Transform2D(1, 0, 0, 1, -2, 14)
|
||||||
editor_settings/show_bone_gizmo = false
|
editor_settings/show_bone_gizmo = false
|
||||||
|
|
||||||
[node name="LeftHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm"]
|
[node name="LeftHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm"]
|
||||||
position = Vector2(-1, 13)
|
position = Vector2(-1, 13)
|
||||||
scale = Vector2(0.999828, 0.999828)
|
scale = Vector2(0.99983, 0.99983)
|
||||||
rest = Transform2D(1, 0, 0, 1, -1, 13)
|
rest = Transform2D(1, 0, 0, 1, -1, 13)
|
||||||
auto_calculate_length_and_angle = false
|
auto_calculate_length_and_angle = false
|
||||||
length = 6.0
|
length = 6.0
|
||||||
|
|
@ -1161,7 +1161,6 @@ entity = NodePath("..")
|
||||||
[node name="Mover" type="Node" parent="."]
|
[node name="Mover" type="Node" parent="."]
|
||||||
script = ExtResource("4_u5syx")
|
script = ExtResource("4_u5syx")
|
||||||
_speed = SubResource("Resource_ckb7n")
|
_speed = SubResource("Resource_ckb7n")
|
||||||
_speedControlMult = 2.33406
|
|
||||||
|
|
||||||
[node name="HitPlayer" type="Node" parent="."]
|
[node name="HitPlayer" type="Node" parent="."]
|
||||||
script = ExtResource("12_he8da")
|
script = ExtResource("12_he8da")
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,22 @@
|
||||||
[gd_scene load_steps=23 format=3 uid="uid://cjoyh54cpjla7"]
|
[gd_scene load_steps=25 format=3 uid="uid://cjoyh54cpjla7"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://b1hjjbdwf1rtc" path="res://scenes/templates/plant_template.tscn" id="1_65f4u"]
|
[ext_resource type="PackedScene" uid="uid://b1hjjbdwf1rtc" path="res://scenes/templates/plant_template.tscn" id="1_65f4u"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bt76iudw2qgnv" path="res://assets/sprites/atlases/plants/cumbucer.png" id="2_ig0op"]
|
[ext_resource type="Texture2D" uid="uid://bt76iudw2qgnv" path="res://assets/sprites/atlases/plants/cumbucer.png" id="2_ig0op"]
|
||||||
|
[ext_resource type="Shader" uid="uid://cgc7spjkhsx7c" path="res://assets/shaders/generic_flash.gdshader" id="2_jbggv"]
|
||||||
[ext_resource type="Script" uid="uid://dn53jvpjyg63l" path="res://scripts/entities/plants/Eyesight.cs" id="3_d45iq"]
|
[ext_resource type="Script" uid="uid://dn53jvpjyg63l" path="res://scripts/entities/plants/Eyesight.cs" id="3_d45iq"]
|
||||||
[ext_resource type="Script" uid="uid://ceprqkraw3v6m" path="res://scripts/entities/plants/Shooter.cs" id="4_sckvu"]
|
[ext_resource type="Script" uid="uid://ceprqkraw3v6m" path="res://scripts/entities/plants/Shooter.cs" id="4_sckvu"]
|
||||||
[ext_resource type="PackedScene" uid="uid://c1ig40gtdcb60" path="res://scenes/projectiles/cucumber_projectile.tscn" id="5_sckvu"]
|
[ext_resource type="PackedScene" uid="uid://c1ig40gtdcb60" path="res://scenes/projectiles/cucumber_projectile.tscn" id="5_sckvu"]
|
||||||
[ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="6_xwpd6"]
|
[ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="6_xwpd6"]
|
||||||
[ext_resource type="Script" uid="uid://bdk5iqtw4xbkl" path="res://scripts/entities/plants/behaviours/PeashooterBehaviour.cs" id="7_q31qc"]
|
[ext_resource type="Script" uid="uid://bdk5iqtw4xbkl" path="res://scripts/entities/plants/behaviours/PeashooterBehaviour.cs" id="7_q31qc"]
|
||||||
|
|
||||||
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_jbggv"]
|
||||||
|
resource_local_to_scene = true
|
||||||
|
shader = ExtResource("2_jbggv")
|
||||||
|
shader_parameter/FLASH_COLOR = Color(0.78, 0.78, 0.78, 0.501961)
|
||||||
|
shader_parameter/HIGHLIGHT_COLOR = Color(0.69, 0, 0, 0.282353)
|
||||||
|
shader_parameter/selected = false
|
||||||
|
shader_parameter/blend = 0.0
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_n1xkd"]
|
[sub_resource type="Animation" id="Animation_n1xkd"]
|
||||||
length = 0.001
|
length = 0.001
|
||||||
tracks/0/type = "value"
|
tracks/0/type = "value"
|
||||||
|
|
@ -128,6 +137,7 @@ internal_id = "cucumber"
|
||||||
MaxHP = 30.0
|
MaxHP = 30.0
|
||||||
|
|
||||||
[node name="Sprite2D" parent="." index="0"]
|
[node name="Sprite2D" parent="." index="0"]
|
||||||
|
material = SubResource("ShaderMaterial_jbggv")
|
||||||
texture = ExtResource("2_ig0op")
|
texture = ExtResource("2_ig0op")
|
||||||
hframes = 10
|
hframes = 10
|
||||||
vframes = 2
|
vframes = 2
|
||||||
|
|
@ -170,3 +180,6 @@ entity = NodePath("../..")
|
||||||
script = ExtResource("7_q31qc")
|
script = ExtResource("7_q31qc")
|
||||||
_shootTimer = NodePath("../Shooter/Timer")
|
_shootTimer = NodePath("../Shooter/Timer")
|
||||||
_sight = NodePath("../Eysight")
|
_sight = NodePath("../Eysight")
|
||||||
|
|
||||||
|
[node name="FlashController" parent="." index="7"]
|
||||||
|
shaderMaterial = SubResource("ShaderMaterial_jbggv")
|
||||||
|
|
|
||||||
|
|
@ -13,12 +13,14 @@ public partial class Entity : Node2D
|
||||||
[Export]public float HP;
|
[Export]public float HP;
|
||||||
[Signal] public delegate void OnHPChangedEventHandler(EntitySignalContext context);
|
[Signal] public delegate void OnHPChangedEventHandler(EntitySignalContext context);
|
||||||
[Signal] public delegate void OnDamagedEventHandler();
|
[Signal] public delegate void OnDamagedEventHandler();
|
||||||
|
[Signal] public delegate void HasBeenKilledEventHandler(Entity who);
|
||||||
|
|
||||||
|
|
||||||
public virtual void TakeDamage(float amount, Node origin)
|
public virtual void TakeDamage(float amount, Node origin)
|
||||||
{
|
{
|
||||||
if(amount > 0)
|
if (amount > 0)
|
||||||
EmitSignal(SignalName.OnDamaged);
|
EmitSignal(SignalName.OnDamaged);
|
||||||
|
|
||||||
var context = new EntitySignalContext()
|
var context = new EntitySignalContext()
|
||||||
{
|
{
|
||||||
target = this,
|
target = this,
|
||||||
|
|
@ -62,8 +64,13 @@ public partial class Entity : Node2D
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool Killed = false;
|
||||||
public virtual void KillByDamage()
|
public virtual void KillByDamage()
|
||||||
{
|
{
|
||||||
|
if (Killed) return;
|
||||||
|
Killed = true;
|
||||||
|
EmitSignal(SignalName.HasBeenKilled,this);
|
||||||
|
ClearEffects();
|
||||||
Kill();
|
Kill();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -116,6 +123,7 @@ public partial class Entity : Node2D
|
||||||
|
|
||||||
public virtual void GiveEffect(Effect what)
|
public virtual void GiveEffect(Effect what)
|
||||||
{
|
{
|
||||||
|
if (Killed) return;
|
||||||
if (_effectImmunities.Contains(what) || completeInvulnerability)
|
if (_effectImmunities.Contains(what) || completeInvulnerability)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|
@ -166,8 +174,21 @@ public partial class Entity : Node2D
|
||||||
EndEffectAtSlot(what.Slot);
|
EndEffectAtSlot(what.Slot);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void ClearEffects()
|
||||||
|
{
|
||||||
|
foreach (var slot in _activeEffectSlots.Keys)
|
||||||
|
{
|
||||||
|
if (_activeEffectSlots[slot] != null)
|
||||||
|
{
|
||||||
|
_activeEffectSlots[slot].Exit(this);
|
||||||
|
_activeEffectSlots[slot] = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void ProcessEffects()
|
public void ProcessEffects()
|
||||||
{
|
{
|
||||||
|
if (Killed) return;
|
||||||
foreach (string key in _activeEffectSlots.Keys)
|
foreach (string key in _activeEffectSlots.Keys)
|
||||||
_activeEffectSlots[key]?.Process(this);
|
_activeEffectSlots[key]?.Process(this);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ public partial class RuntimeZombieData : Entity
|
||||||
{
|
{
|
||||||
[Export]
|
[Export]
|
||||||
private Armor _armor;
|
private Armor _armor;
|
||||||
[Signal] public delegate void HasBeenKilledEventHandler(RuntimeZombieData who);
|
|
||||||
[Signal] public delegate void HPChangedMixedEventHandler(EntitySignalContext context);
|
[Signal] public delegate void HPChangedMixedEventHandler(EntitySignalContext context);
|
||||||
public bool AbleToEat = true;
|
public bool AbleToEat = true;
|
||||||
|
|
||||||
|
|
@ -102,12 +101,12 @@ public partial class RuntimeZombieData : Entity
|
||||||
return HP;
|
return HP;
|
||||||
}
|
}
|
||||||
#region Death sequence
|
#region Death sequence
|
||||||
private bool _killed = false;
|
|
||||||
public override void KillByDamage()
|
public override void KillByDamage()
|
||||||
{
|
{
|
||||||
if (_killed) return;
|
if (Killed) return;
|
||||||
_killed = true;
|
Killed = true;
|
||||||
AbleToEat = false;
|
AbleToEat = false;
|
||||||
|
ClearEffects();
|
||||||
EmitSignal(SignalName.HasBeenKilled,this);
|
EmitSignal(SignalName.HasBeenKilled,this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -140,7 +140,7 @@ public partial class LevelRunner : Node
|
||||||
zombie.HasBeenKilled += OnLastZombieKilled;
|
zombie.HasBeenKilled += OnLastZombieKilled;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void OnLastZombieKilled(RuntimeZombieData who)
|
private void OnLastZombieKilled(Entity who)
|
||||||
{
|
{
|
||||||
aliveZombies -= 1;
|
aliveZombies -= 1;
|
||||||
if (aliveZombies > 0) return;
|
if (aliveZombies > 0) return;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue