mirror of
https://github.com/kodzukye/scrap-signal.git
synced 2026-04-26 21:27:34 +00:00
25 lines
683 B
GDScript
25 lines
683 B
GDScript
class_name Door
|
|
extends StaticBody2D
|
|
|
|
@export var required_flag: String = "vrac7_repaired"
|
|
@export var locked_sprite: Texture2D
|
|
@export var open_sprite: Texture2D
|
|
|
|
@onready var sprite := $Sprite2D
|
|
@onready var collision := $CollisionShape2D
|
|
|
|
func _ready() -> void:
|
|
GameState.flag_changed.connect(_on_flag_changed)
|
|
_update_state(GameState.get_flag(required_flag))
|
|
|
|
func _on_flag_changed(flag: String, value: bool) -> void:
|
|
if flag == required_flag:
|
|
_update_state(value)
|
|
|
|
func _update_state(is_open: bool) -> void:
|
|
|
|
collision.disabled = is_open
|
|
sprite.texture = open_sprite if is_open else locked_sprite
|
|
if sprite.texture == open_sprite:
|
|
AudioManager.play_sfx("door_unlock")
|