feat: interactibles now emit signals and are parametrable through text and ids
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 7s
Create tag and build when new code gets to main / Export (push) Successful in 2m14s

This commit is contained in:
2025-06-28 11:04:03 +02:00
parent e59f0e9e6a
commit 5ee7b125e3
8 changed files with 113 additions and 19 deletions

View File

@ -1,17 +1,35 @@
extends Area2D
class_name Interactible
@export_file("*.tscn") var scene_to_trigger : String
# @export_file("*.tscn") var scene_to_trigger: String
@export var message: String
@export var event: String
signal event_triggered(event_id: String)
@onready var rich_text_label: RichTextLabel = $RichTextLabel
@onready var confirm_panel: Panel = %ConfirmPanel
@onready var message_box: Label = %MessageBox
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
rich_text_label.visible = false
confirm_panel.visible = false
message_box.text = message.to_upper()
func _on_body_entered(body: Node2D) -> void:
rich_text_label.visible = true
func _on_body_exited(body: Node2D) -> void:
rich_text_label.visible = false
confirm_panel.visible = false
func show_confirm():
confirm_panel.visible = true
func _on_confirm_button_pressed() -> void:
confirm_panel.visible = false
event_triggered.emit(event)
func _on_cancel_button_pressed() -> void:
confirm_panel.visible = false