gduibasics/scenes/property_list/scripts/entity_tree_spoiler.gd

27 lines
702 B
GDScript

extends "res://addons/de.mewin.gduibasics/scenes/scripts/spoiler.gd"
# only used to store the entities before the tree is created
var __entities := [].duplicate()
#############
# overrides #
#############
func _lazy_load_child() -> Control:
var tree : Control = load("res://addons/de.mewin.gduibasics/scripts/types/controls/entity_tree.gd").new()
tree.size_flags_horizontal |= SIZE_EXPAND
tree.rect_min_size.y = 300 # ?
for entity in __entities:
tree.add_entity(entity)
__entities.clear()
return tree
################
# public stuff #
################
func add_entity(entity : Object) -> void:
var tree := _get_child()
if tree:
tree.add_entity(entity)
else:
__entities.append(entity)