From b31344a718e3c69a40a1c7639dcba7dd340b8cab Mon Sep 17 00:00:00 2001 From: Haze Weathers Date: Wed, 22 Feb 2023 16:04:50 -0500 Subject: [PATCH] remove tin-specific death code from enemy_move_diagonal.gd, use deferred died signal connection instead to avoid errors from adding physics bodies outside idle time --- objects/enemy/enemy_move_diagonal.gd | 1 - objects/enemy/tin.gd | 4 ++++ objects/enemy/tin.tscn | 4 ++-- 3 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 objects/enemy/tin.gd diff --git a/objects/enemy/enemy_move_diagonal.gd b/objects/enemy/enemy_move_diagonal.gd index cc00aa5..1aa32d9 100644 --- a/objects/enemy/enemy_move_diagonal.gd +++ b/objects/enemy/enemy_move_diagonal.gd @@ -30,4 +30,3 @@ func _physics_process(delta): func die(): .die() - Game.instance_node(load("res://objects/enemy/tin_die.tscn"),position.x,position.y,get_parent()) diff --git a/objects/enemy/tin.gd b/objects/enemy/tin.gd new file mode 100644 index 0000000..6e5ecf3 --- /dev/null +++ b/objects/enemy/tin.gd @@ -0,0 +1,4 @@ +extends "res://objects/enemy/enemy_move_diagonal.gd" + +func _on_Tin_died(): + Game.instance_node(load("res://objects/enemy/tin_die.tscn"), position.x, position.y, get_parent()) diff --git a/objects/enemy/tin.tscn b/objects/enemy/tin.tscn index bb5ffc3..84ee4f9 100644 --- a/objects/enemy/tin.tscn +++ b/objects/enemy/tin.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=8 format=2] -[ext_resource path="res://objects/enemy/enemy_move_diagonal.gd" type="Script" id=1] +[ext_resource path="res://objects/enemy/tin.gd" type="Script" id=1] [ext_resource path="res://scripts/1px_border.gdshader" type="Shader" id=2] [ext_resource path="res://graphics/enemy/tin.png" type="Texture" id=3] [ext_resource path="res://graphics/enemy/tin_eye.png" type="Texture" id=4] @@ -32,7 +32,6 @@ extents = Vector2( 4, 4 ) [node name="Tin" type="Node2D"] script = ExtResource( 1 ) score_for_killing = 100 -blood = false [node name="Sprite" type="Sprite" parent="."] material = SubResource( 1 ) @@ -51,4 +50,5 @@ anims/eye_hue = SubResource( 2 ) [node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"] shape = SubResource( 3 ) +[connection signal="died" from="." to="." method="_on_Tin_died" flags=3] [connection signal="area_entered" from="Hitbox" to="." method="_on_Hitbox_area_entered"]