-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDoor.gd
41 lines (28 loc) · 957 Bytes
/
Door.gd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
extends Area2D
export(String, FILE) var next_scene_path = ""
export(bool) var is_invisible = false
export(Vector2) var spawn_location = Vector2(0, 0)
export(Vector2) var spawn_direction = Vector2(0, 0)
onready var sprite = $Sprite
onready var anim_player = $AnimationPlayer
var player_entered = false
func _ready():
if is_invisible:
$Sprite.texture = null
sprite.visible = false
var player = utils.get_player()
player.connect("player_entering_door_signal", self, "enter_door")
player.connect("player_entered_door_signal", self, "close_door")
func enter_door():
if player_entered:
anim_player.play("OpenDoor")
func close_door():
if player_entered:
anim_player.play("CloseDoor")
func door_closed():
if player_entered:
Utils.get_scene_manager().transition_to_scene(next_scene_path, spawn_location, spawn_direction)
func _on_Door_body_entered(body):
player_entered = true
func _on_Door_body_exited(body):
player_entered = false