1234567891011121314151617181920212223242526272829303132333435363738 |
- extends MarginContainer
- class_name Credits
- @onready var main_menu: PackedScene = load("res://screens/main_menu.tscn")
- @onready var tab_container: TabContainer = $VBoxContainer/TabContainer
- @onready var game_tab: MarginContainer = $"VBoxContainer/TabContainer/The Last Shift"
- func _ready() -> void:
- var licenses: Dictionary = Engine.get_license_info()
- var dependencies: Array[Dictionary] = Engine.get_copyright_info()
-
- #for dependency in dependencies:
- # print(dependency)
-
- for dependency in dependencies:
- var tab = game_tab.duplicate() as MarginContainer
- tab.name = dependency["name"]
- var label = tab.get_node("ScrollContainer/RichTextLabel") as RichTextLabel
- label.text = ""
- for part in dependency["parts"]:
- for copyright in part["copyright"]:
- label.text += "Copyright © " + copyright + "\n"
- label.text += "\n"
- var used_licenses: String = part["license"]
- for license in licenses:
- used_licenses = used_licenses.replace(license, licenses[license] + "\n\n")
- label.text += used_licenses
- tab_container.add_child(tab)
- func _process(_delta: float) -> void:
- if Input.is_action_just_pressed("ui_cancel"):
- _on_back_button_pressed()
- func _on_back_button_pressed() -> void:
- get_tree().change_scene_to_packed(main_menu)
- func _on_rich_text_label_meta_clicked(meta: Variant) -> void:
- OS.shell_open(str(meta))
|