From b611f7f4d0f66976dacb80481b7f7f873cfc98fc Mon Sep 17 00:00:00 2001 From: Hamcha Date: Tue, 7 Jul 2020 00:09:45 +0200 Subject: [PATCH] Make doors auto-close after a while --- Actors/Objects/Door/Door.gd | 6 ++++++ Actors/Objects/Door/Door.tscn | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/Actors/Objects/Door/Door.gd b/Actors/Objects/Door/Door.gd index ec471c3..c4a4b32 100644 --- a/Actors/Objects/Door/Door.gd +++ b/Actors/Objects/Door/Door.gd @@ -13,6 +13,8 @@ func _animation_finished(): # Disable collider collision_layer = 16 collision_mask = 16 + # Start timer for auto-close + $Timer.start() else: # Enable collider collision_mask = 1 @@ -22,3 +24,7 @@ func _input_event(viewport, event, shape_idx): if event is InputEventMouseButton and event.pressed: set_open($Sprite.animation == "close") + + +func _close_timer_triggered(): + $Sprite.play("close") diff --git a/Actors/Objects/Door/Door.tscn b/Actors/Objects/Door/Door.tscn index f3aa2d3..251e72d 100644 --- a/Actors/Objects/Door/Door.tscn +++ b/Actors/Objects/Door/Door.tscn @@ -53,4 +53,9 @@ centered = false [node name="CollisionShape2D" type="CollisionShape2D" parent="."] position = Vector2( 16, 16 ) shape = SubResource( 7 ) + +[node name="Timer" type="Timer" parent="."] +wait_time = 5.0 +one_shot = true [connection signal="animation_finished" from="Sprite" to="." method="_animation_finished"] +[connection signal="timeout" from="Timer" to="." method="_close_timer_triggered"]