From f0f7f6b42beba64009464c5e08f817afd3a513ef Mon Sep 17 00:00:00 2001 From: Rendo Date: Mon, 11 Aug 2025 01:58:21 +0500 Subject: [PATCH] collider disable --- scenes/plants/peashooter.tscn | 1 + scenes/zombies/basic.tscn | 21 ++++++++++--------- .../controllers/zombies/basic_controller.gd | 2 ++ scripts/components/generic_collider.gd | 3 +++ scripts/entities/entity.gd | 4 ++-- 5 files changed, 19 insertions(+), 12 deletions(-) diff --git a/scenes/plants/peashooter.tscn b/scenes/plants/peashooter.tscn index 871c0e6..2b153df 100644 --- a/scenes/plants/peashooter.tscn +++ b/scenes/plants/peashooter.tscn @@ -181,6 +181,7 @@ position = Vector2(17, -4) script = ExtResource("8_6jrfv") [connection signal="killed" from="." to="DeathHandler" method="_on_killed"] +[connection signal="toggled" from="." to="GenericCollider" method="toggle"] [connection signal="collision_end" from="GenericHurtbox" to="Controller" method="_on_generic_hurtbox_collision_end"] [connection signal="collision_start" from="GenericHurtbox" to="Controller" method="_on_generic_hurtbox_collision_start"] [connection signal="timeout" from="Controller/Timer" to="Controller" method="_on_timer_timeout"] diff --git a/scenes/zombies/basic.tscn b/scenes/zombies/basic.tscn index d81499b..92c66de 100644 --- a/scenes/zombies/basic.tscn +++ b/scenes/zombies/basic.tscn @@ -824,7 +824,7 @@ metadata/_edit_lock_ = true [node name="RightUpperLeg" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt"] position = Vector2(-6, 3) -scale = Vector2(0.99983, 0.99983) +scale = Vector2(0.999827, 0.999827) rest = Transform2D(1, 0, 0, 1, -6, 3) editor_settings/show_bone_gizmo = false @@ -836,13 +836,13 @@ metadata/_edit_lock_ = true [node name="RightLowerLeg" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/RightUpperLeg"] position = Vector2(-2, 12) -scale = Vector2(0.99983, 0.99983) +scale = Vector2(0.999831, 0.999831) rest = Transform2D(1, 0, 0, 1, -2, 12) editor_settings/show_bone_gizmo = false [node name="RightFoot" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg"] position = Vector2(-2, 14) -scale = Vector2(0.99983, 0.99983) +scale = Vector2(0.999827, 0.999827) rest = Transform2D(1, 0, 0, 1, -2, 14) auto_calculate_length_and_angle = false length = 12.0 @@ -888,7 +888,7 @@ metadata/_edit_lock_ = true [node name="LeftFoot" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg"] position = Vector2(6, 10) -scale = Vector2(0.999826, 0.999826) +scale = Vector2(0.999823, 0.999823) rest = Transform2D(1, 0, 0, 1, 6, 10) auto_calculate_length_and_angle = false length = 12.0 @@ -903,13 +903,13 @@ metadata/_edit_lock_ = true [node name="Body" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt"] position = Vector2(1, -2) -scale = Vector2(0.999829, 0.999829) +scale = Vector2(0.999827, 0.999827) rest = Transform2D(1, 0, 0, 1, 1, -2) editor_settings/show_bone_gizmo = false [node name="RightUpperArm" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body"] position = Vector2(-14, -23) -scale = Vector2(0.999831, 0.999831) +scale = Vector2(0.999828, 0.999828) rest = Transform2D(1, 0, 0, 1, -14, -23) editor_settings/show_bone_gizmo = false @@ -921,7 +921,7 @@ metadata/_edit_lock_ = true [node name="RightLowerArm" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm"] position = Vector2(-2, 15) -scale = Vector2(0.99982, 0.99982) +scale = Vector2(0.999811, 0.999811) rest = Transform2D(1, 0, 0, 1, -2, 15) editor_settings/show_bone_gizmo = false @@ -982,7 +982,7 @@ metadata/_edit_lock_ = true [node name="Jaw" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body/Head"] position = Vector2(-3, 3) -scale = Vector2(0.999832, 0.999832) +scale = Vector2(0.999826, 0.999826) rest = Transform2D(1, 0, 0, 1, -3, 3) auto_calculate_length_and_angle = false length = 11.0 @@ -1025,7 +1025,7 @@ metadata/_edit_lock_ = true [node name="LeftUpperArm" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body"] position = Vector2(-1, -20) -scale = Vector2(0.999827, 0.999827) +scale = Vector2(0.99983, 0.99983) rest = Transform2D(1, 0, 0, 1, -1, -20) editor_settings/show_bone_gizmo = false @@ -1038,7 +1038,7 @@ metadata/_edit_lock_ = true [node name="LeftLowerArm" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm"] position = Vector2(-2, 14) -scale = Vector2(0.999825, 0.999825) +scale = Vector2(0.999828, 0.999828) rest = Transform2D(1, 0, 0, 1, -2, 14) editor_settings/show_bone_gizmo = false @@ -1110,4 +1110,5 @@ damage = 5.0 script = ExtResource("9_ap2hg") [connection signal="killed" from="." to="Controller" method="_on_entity_killed"] +[connection signal="toggled" from="." to="Collider" method="toggle"] [connection signal="animation_finished" from="AnimationTree" to="DeathHandler" method="_on_animation_tree_animation_finished"] diff --git a/scripts/components/controllers/zombies/basic_controller.gd b/scripts/components/controllers/zombies/basic_controller.gd index 7bc0163..2a656ad 100644 --- a/scripts/components/controllers/zombies/basic_controller.gd +++ b/scripts/components/controllers/zombies/basic_controller.gd @@ -7,6 +7,8 @@ var walking: get: return is_walking() +var disabled = false + @export var hurtbox : GenericHurtbox @export var damage : float @onready var disablable := get_parent() diff --git a/scripts/components/generic_collider.gd b/scripts/components/generic_collider.gd index 804adcc..c8bd1d3 100644 --- a/scripts/components/generic_collider.gd +++ b/scripts/components/generic_collider.gd @@ -13,3 +13,6 @@ enum Layers } @export var layer : Layers = Layers.NORMAL + +func toggle(value : bool) -> void: + monitorable = value diff --git a/scripts/entities/entity.gd b/scripts/entities/entity.gd index e381c48..8f61a59 100644 --- a/scripts/entities/entity.gd +++ b/scripts/entities/entity.gd @@ -29,13 +29,13 @@ signal toggled(disabled : bool) func disable(): if disabled: return disabled = true - toggled.emit(disabled) + toggled.emit(not disabled) ## func enable(): if disabled == false: return disabled = false - toggled.emit(disabled) + toggled.emit(not disabled) ## Properly deal damage to entity func deal_damage(amount : float, source : Entity):