33 lines
819 B
GDScript
33 lines
819 B
GDScript
extends SceneTree
|
|
|
|
func _init() -> void:
|
|
var scene = preload("res://scenes/player.tscn").instantiate()
|
|
var skel: Skeleton3D = null
|
|
|
|
# Find GeneralSkeleton anywhere in the player scene
|
|
var queue = [scene]
|
|
while queue.size() > 0:
|
|
var n = queue.pop_front()
|
|
if n is Skeleton3D and n.name == "GeneralSkeleton":
|
|
skel = n
|
|
break
|
|
for c in n.get_children():
|
|
queue.append(c)
|
|
|
|
if skel:
|
|
print("Found GeneralSkeleton! Bones:")
|
|
for i in skel.get_bone_count():
|
|
print(" - ", skel.get_bone_name(i))
|
|
else:
|
|
print("GeneralSkeleton not found in player.tscn!")
|
|
print("Tree:")
|
|
_print_tree(scene, 0)
|
|
|
|
quit()
|
|
|
|
func _print_tree(n: Node, depth: int) -> void:
|
|
var indent = " ".repeat(depth)
|
|
print("%s- %s (%s)" % [indent, n.name, n.get_class()])
|
|
for c in n.get_children():
|
|
_print_tree(c, depth + 1)
|