forked from team-sg/hero-mark-2
30 lines
803 B
GDScript
30 lines
803 B
GDScript
extends Node2D
|
|
|
|
onready var anims = $SpriteAnim
|
|
onready var down_prompt = $DownPrompt
|
|
onready var snap_position = $Position2D
|
|
var can_interact = false
|
|
var player = null
|
|
|
|
func _physics_process(delta):
|
|
if Input.is_action_just_pressed("enter_hatch") && can_interact:
|
|
anims.play("open")
|
|
player.enter_hatch(position + snap_position.position)
|
|
down_prompt.scale.y = -1
|
|
down_prompt.visible = true
|
|
player.connect("hatch_exited", self, "exit_hatch", [], CONNECT_ONESHOT)
|
|
|
|
func exit_hatch():
|
|
anims.play("open")
|
|
down_prompt.scale.y = 1
|
|
|
|
func _on_TriggerArea_area_entered(area):
|
|
down_prompt.visible = true
|
|
down_prompt.scale.y = 1
|
|
can_interact = true
|
|
player = area.get_owner()
|
|
|
|
func _on_TriggerArea_area_exited(area):
|
|
if down_prompt.scale.y == 1:
|
|
down_prompt.visible = false
|
|
can_interact = false
|