extends VBoxContainer export(NodePath) var tree_path : NodePath var tree : Tree export(NodePath) var rtl_path : NodePath var rtl : RichTextLabel var populated : bool = false func _enter_tree(): tree = get_node(tree_path) as Tree rtl = get_node(rtl_path) as RichTextLabel connect("visibility_changed", self, "on_visibility_changed") tree.connect("item_selected", self, "on_item_selected") func on_visibility_changed(): if visible: populate() func on_item_selected(): rtl.text = tree.get_selected().get_metadata(0) func populate(): if populated: return populated = true tree.create_item() for info in Engine.get_copyright_info(): var ti : TreeItem = tree.create_item() var st : String = info["name"] + "\n\n" for p in info["parts"]: for k in p: st += k + ":\n\n" if p[k] is Array: for it in p[k]: st += String(it) + "\n" else: st += String(p[k]) + "\n" st += "\n\n" ti.set_metadata(0, st) ti.set_text(0, info["name"])