added property mapping and mapping of unconnected inputs
This commit is contained in:
parent
6785d457b5
commit
65148dfa67
|
@ -138,16 +138,23 @@ def replace(tree, node):
|
||||||
newnode.location = node.location
|
newnode.location = node.location
|
||||||
newnode.parent = node.parent
|
newnode.parent = node.parent
|
||||||
|
|
||||||
# map properties
|
|
||||||
for prop in replacement.property_mapping.keys():
|
|
||||||
setattr(newnode, replacement.property_mapping.get(prop), getattr(node, prop))
|
|
||||||
|
|
||||||
parent = node.parent
|
parent = node.parent
|
||||||
while parent is not None:
|
while parent is not None:
|
||||||
newnode.location[0] += parent.location[0]
|
newnode.location[0] += parent.location[0]
|
||||||
newnode.location[1] += parent.location[1]
|
newnode.location[1] += parent.location[1]
|
||||||
parent = parent.parent
|
parent = parent.parent
|
||||||
|
|
||||||
|
|
||||||
|
# map properties
|
||||||
|
for prop in replacement.property_mapping.keys():
|
||||||
|
setattr(newnode, replacement.property_mapping.get(prop), getattr(node, prop))
|
||||||
|
|
||||||
|
# map unconnected inputs
|
||||||
|
for in_socket in replacement.in_socket_mapping.keys():
|
||||||
|
if not node.inputs[in_socket].is_linked:
|
||||||
|
newnode.inputs[replacement.in_socket_mapping.get(in_socket)].default_value = node.inputs[in_socket].default_value
|
||||||
|
|
||||||
|
# map connected inputs
|
||||||
for link in tree.links:
|
for link in tree.links:
|
||||||
if link.from_node == node:
|
if link.from_node == node:
|
||||||
# this is an output link
|
# this is an output link
|
||||||
|
@ -191,14 +198,14 @@ class ReplaceNodesOperator(bpy.types.Operator):
|
||||||
return context.space_data != None and context.space_data.type == 'NODE_EDITOR'
|
return context.space_data != None and context.space_data.type == 'NODE_EDITOR'
|
||||||
|
|
||||||
# Input Replacement Rules
|
# Input Replacement Rules
|
||||||
add_replacement(Replacement("LNOnGamepadNode", "LNMergedGamepadNode", {}, {0: 0}, {"property0": "property0", "property1": "property1"}))
|
add_replacement(Replacement("LNOnGamepadNode", "LNMergedGamepadNode", {0: 0}, {0: 0}, {"property0": "property0", "property1": "property1"}))
|
||||||
add_replacement(Replacement("LNGamepadNode", "LNMergedGamepadNode", {}, {0: 1}, {"property0": "property0", "property1": "property1"}))
|
add_replacement(Replacement("LNGamepadNode", "LNMergedGamepadNode", {0: 0}, {0: 1}, {"property0": "property0", "property1": "property1"}))
|
||||||
|
|
||||||
add_replacement(Replacement("LNOnMouseNode", "LNMergedMouseNode", {}, {0: 0}, {"property0": "property0", "property1": "property1"}))
|
add_replacement(Replacement("LNOnMouseNode", "LNMergedMouseNode", {}, {0: 0}, {"property0": "property0", "property1": "property1"}))
|
||||||
add_replacement(Replacement("LNMouseNode", "LNMergedMouseNode", {}, {0: 1}, {"property0": "property0", "property1": "property1"}))
|
add_replacement(Replacement("LNMouseNode", "LNMergedMouseNode", {}, {0: 1}, {"property0": "property0", "property1": "property1"}))
|
||||||
|
|
||||||
add_replacement(Replacement("LNOnSurfaceNode", "LNMergedSurfaceNode", {}, {0: 0}, {"property0": "property0", "property1": "property1"}))
|
add_replacement(Replacement("LNOnSurfaceNode", "LNMergedSurfaceNode", {}, {0: 0}, {"property0": "property0"}))
|
||||||
add_replacement(Replacement("LNSurfaceNode", "LNMergedSurfaceNode", {}, {0: 1}, {"property0": "property0", "property1": "property1"}))
|
add_replacement(Replacement("LNSurfaceNode", "LNMergedSurfaceNode", {}, {0: 1}, {"property0": "property0"}))
|
||||||
|
|
||||||
add_replacement(Replacement("LNOnKeyboardNode", "LNMergedKeyboardNode", {}, {0: 0}, {"property0": "property0", "property1": "property1"}))
|
add_replacement(Replacement("LNOnKeyboardNode", "LNMergedKeyboardNode", {}, {0: 0}, {"property0": "property0", "property1": "property1"}))
|
||||||
add_replacement(Replacement("LNKeyboardNode", "LNMergedKeyboardNode", {}, {0: 1}, {"property0": "property0", "property1": "property1"}))
|
add_replacement(Replacement("LNKeyboardNode", "LNMergedKeyboardNode", {}, {0: 1}, {"property0": "property0", "property1": "property1"}))
|
||||||
|
|
Loading…
Reference in a new issue