Files
fps_project_1/scripts/key_door.gd
2024-11-11 21:03:33 -06:00

47 lines
904 B
GDScript

extends Node3D
@onready var level_control = get_tree().current_scene
@export var anim_player : Node
@export var door_open_start : bool = false
@export_enum("Silver", "Gold", "Special") var key_type_required: int
@export var special_key_name : String
var door_open : bool
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
door_open = door_open_start
if door_open:
open()
else:
close()
func open():
door_open = true
anim_player.play("open")
func close():
door_open = false
anim_player.play("close")
func interact():
if !door_open:
var exit = false
for i in level_control.keys:
if !exit:
if i[0] == key_type_required:
if key_type_required == 2:
if i[1] == special_key_name:
open()
level_control.keys.erase(i)
exit = true
else:
open()
level_control.keys.erase(i)
exit = true