27 lines
523 B
GDScript3
27 lines
523 B
GDScript3
|
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":
|
||
|
print("Door opened")
|
||
|
# Disable collider
|
||
|
collision_layer = 2
|
||
|
collision_mask = 2
|
||
|
else:
|
||
|
print("Door closed")
|
||
|
# 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")
|
||
|
|