This repository has been archived on 2020-09-30. You can view files and clone it, but cannot push or open issues or pull requests.
odyssey-old/Actors/Objects/Door/Door.gd

31 lines
583 B
GDScript3
Raw Normal View History

2020-07-06 16:41:30 +00:00
extends StaticBody2D
signal changed(open)
func set_open(open: bool):
if open:
$Sprite.play("open")
else:
$Sprite.play("close")
func _animation_finished():
if $Sprite.animation == "open":
# Disable collider
2020-07-06 17:23:42 +00:00
collision_layer = 16
collision_mask = 16
2020-07-06 22:09:45 +00:00
# Start timer for auto-close
$Timer.start()
2020-07-06 16:41:30 +00:00
else:
# Enable collider
collision_mask = 1
collision_layer = 1
func _input_event(viewport, event, shape_idx):
if event is InputEventMouseButton and event.pressed:
set_open($Sprite.animation == "close")
2020-07-06 22:09:45 +00:00
func _close_timer_triggered():
$Sprite.play("close")