Attempt to set node_tree_prop on project update
This commit is contained in:
parent
43e5badff3
commit
103c30704d
|
@ -340,7 +340,18 @@ def init_properties_on_load():
|
|||
wrd = bpy.data.worlds['Arm']
|
||||
# Outdated project
|
||||
if bpy.data.filepath != '' and (wrd.arm_version != arm_version or wrd.arm_commit != arm_commit): # Call on project load only
|
||||
print('Project updated to sdk v' + arm_version)
|
||||
|
||||
# This allows for seamless migration from ealier versions of
|
||||
# Armory that don't have `item.node_tree_prop` set
|
||||
for ob in bpy.data.objects: # TODO: deprecated
|
||||
for trait in ob.arm_traitlist:
|
||||
if trait != None and \
|
||||
trait.type_prop == 'Logic Nodes' and \
|
||||
trait.node_tree_prop == None and \
|
||||
trait.name in bpy.data.node_groups:
|
||||
trait.node_tree_prop = bpy.data.node_groups[trait.name]
|
||||
|
||||
print('Project updated to sdk v' + arm_version + ' (' + arm_commit + ')')
|
||||
wrd.arm_version = arm_version
|
||||
wrd.arm_commit = arm_commit
|
||||
arm.make.clean()
|
||||
|
|
|
@ -29,7 +29,8 @@ def update_trait_group(self, context):
|
|||
elif t.type_prop == 'UI Canvas':
|
||||
t.name = t.canvas_name_prop
|
||||
elif t.type_prop == 'Logic Nodes':
|
||||
t.name = t.node_tree_prop.name
|
||||
if t.node_tree_prop != None:
|
||||
t.name = t.node_tree_prop.name
|
||||
# Fetch props
|
||||
if t.type_prop == 'Bundled Script' and t.name != '':
|
||||
file_path = arm.utils.get_sdk_path() + '/armory/Sources/armory/trait/' + t.name + '.hx'
|
||||
|
@ -63,7 +64,7 @@ class ArmTraitListItem(bpy.types.PropertyGroup):
|
|||
class_name_prop: StringProperty(name="Class", description="A name for this item", default="", update=update_trait_group)
|
||||
canvas_name_prop: StringProperty(name="Canvas", description="A name for this item", default="", update=update_trait_group)
|
||||
webassembly_prop: StringProperty(name="Module", description="A name for this item", default="", update=update_trait_group)
|
||||
node_tree_prop: PointerProperty(type=NodeTree)
|
||||
node_tree_prop: PointerProperty(type=NodeTree, update=update_trait_group)
|
||||
arm_traitpropslist: CollectionProperty(type=ArmTraitPropListItem)
|
||||
arm_traitpropslist_index: IntProperty(name="Index for my_list", default=0)
|
||||
|
||||
|
@ -543,15 +544,6 @@ def draw_traits(layout, obj, is_object):
|
|||
elif item.type_prop == 'Logic Nodes':
|
||||
row = layout.row()
|
||||
row.prop_search(item, "node_tree_prop", bpy.data, "node_groups", text="Tree")
|
||||
if item.node_tree_prop != None:
|
||||
item.name = item.node_tree_prop.name
|
||||
else:
|
||||
# This allows for seamless migration from ealier versions of
|
||||
# Armory that have don't have `item.node_tree_prop` set
|
||||
if item.name != "" and bpy.data.node_groups[item.name] != None:
|
||||
item.node_tree_prop = bpy.data.node_groups[item.name]
|
||||
else:
|
||||
item.name = ""
|
||||
|
||||
def register():
|
||||
global icons_dict
|
||||
|
|
Loading…
Reference in a new issue