hero-mark-2/objects/environment/hatch/hatch.gd
2023-03-21 20:22:52 -04:00

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