Files
mtd/tutorial.gd
2025-06-13 00:06:51 +10:00

44 lines
1.6 KiB
GDScript

extends Node3D
var move_hint_onscreen: bool = true
func _on_interact_button_button_interacted(value: int, callback: Hero) -> void:
$SpawnRoom/door.queue_free()
fade_move_hint()
func _ready() -> void:
$HBoxContainer/VBoxContainer/RichTextLabel.text = parse_action_tag($HBoxContainer/VBoxContainer/RichTextLabel.text)
$HBoxContainer/VBoxContainer/RichTextLabel2.text = parse_action_tag($HBoxContainer/VBoxContainer/RichTextLabel2.text)
func parse_action_tag(text: String) -> String:
var string_array: PackedStringArray = text.split("#")
var output: Array[String] = []
if string_array.size() > 1:
for x: int in range(1, string_array.size() - 1):
for i: int in InputMap.action_get_events(string_array[x]).size():
var event: InputEvent = InputMap.action_get_events(string_array[x])[i]
if InputMap.action_get_events(string_array[x]).size() > 1:
var last: bool = true if i == InputMap.action_get_events(string_array[x]).size() - 1 else false
var first: bool = true if i == 0 else false
if last:
output.append(" or ")
elif !first:
output.append(", ")
if event is InputEventKey:
output.append("[img=top,50]%s[/img]" % KeyIconMap.keys[str(event.physical_keycode)])
if event is InputEventMouseButton:
output.append("[img=top,50]%s[/img]" % KeyIconMap.mouse_buttons[str(event.button_index)])
#string_array[string_array.size() - 1] = "".join(output)
text = "".join(output)
return text
func fade_move_hint() -> void:
if move_hint_onscreen:
pass
var tween: Tween = create_tween()
tween.tween_property($HBoxContainer, "modulate", Color(1.0, 1.0, 1.0, 0.0), 2.0)