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']
|
wrd = bpy.data.worlds['Arm']
|
||||||
# Outdated project
|
# Outdated project
|
||||||
if bpy.data.filepath != '' and (wrd.arm_version != arm_version or wrd.arm_commit != arm_commit): # Call on project load only
|
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_version = arm_version
|
||||||
wrd.arm_commit = arm_commit
|
wrd.arm_commit = arm_commit
|
||||||
arm.make.clean()
|
arm.make.clean()
|
||||||
|
|
|
@ -29,7 +29,8 @@ def update_trait_group(self, context):
|
||||||
elif t.type_prop == 'UI Canvas':
|
elif t.type_prop == 'UI Canvas':
|
||||||
t.name = t.canvas_name_prop
|
t.name = t.canvas_name_prop
|
||||||
elif t.type_prop == 'Logic Nodes':
|
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
|
# Fetch props
|
||||||
if t.type_prop == 'Bundled Script' and t.name != '':
|
if t.type_prop == 'Bundled Script' and t.name != '':
|
||||||
file_path = arm.utils.get_sdk_path() + '/armory/Sources/armory/trait/' + t.name + '.hx'
|
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)
|
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)
|
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)
|
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: CollectionProperty(type=ArmTraitPropListItem)
|
||||||
arm_traitpropslist_index: IntProperty(name="Index for my_list", default=0)
|
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':
|
elif item.type_prop == 'Logic Nodes':
|
||||||
row = layout.row()
|
row = layout.row()
|
||||||
row.prop_search(item, "node_tree_prop", bpy.data, "node_groups", text="Tree")
|
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():
|
def register():
|
||||||
global icons_dict
|
global icons_dict
|
||||||
|
|
Loading…
Reference in a new issue