|
|
@@ -459,6 +459,7 @@ def do_import(data, context):
|
|
|
|
|
|
# I need to guarantee that the interface items are in the right order.
|
|
|
interface_sockets = [] # I'll just sort them afterwards so I hold them here.
|
|
|
+ default_position=0 # We'll use this if the position attribute is not set when e.g. making groups.
|
|
|
|
|
|
|
|
|
for s_name, s_props in tree_in_out.items():
|
|
|
@@ -469,7 +470,9 @@ def do_import(data, context):
|
|
|
socket_type = "VectorSocket"
|
|
|
sock = tree.interface.new_socket(s_props["name"], in_out=s_props["in_out"], socket_type=socket_type)
|
|
|
tree_sock_id_map[s_name] = sock.identifier
|
|
|
- interface_sockets.append( (sock, s_props['position']) )
|
|
|
+ if not (socket_position := s_props.get('position')):
|
|
|
+ socket_position=default_position; default_position+=1
|
|
|
+ interface_sockets.append( (sock, socket_position) )
|
|
|
# TODO: set whatever properties are needed (default, etc)
|
|
|
if panel := s_props.get("parent"): # this get is just to maintain compatibility with an older form of this script... and it is harmless
|
|
|
interface_parent_me[sock] = (panel, s_props["position"])
|