+ from .util import get_linked_node_and_socket
+
+ output = self.node.node_tree.nodes["Group Output"]
+ from_node, from_sock = get_linked_node_and_socket(self.node.node_tree, output.inputs[0])
+ inner = PropertyNode(self.node.node_tree, from_node, from_sock)
+ if inner.input:
+ # TODO This currently only supports a single operation inside the group
+ if inner.input.node.type=='GROUP_INPUT':
+ self.type = inner.type
+ self.data = inner.data
+ return self.set_input_from_linked(self.node.inputs[0])
+
+ def check_gray(self):
+ if self.node.type=='RGBTOBW':
+ self.type = 'GRAY'
+ self.set_input_from_linked(self.node.inputs["Color"])
+
+ def check_normal(self):
+ if self.node.type=='NORMAL_MAP':
+ self.type = 'NORMAL'
+ return self.set_input_from_linked(self.node.inputs["Color"])
+
+ def check_invert_green(self):
+ if self.node.type!='COMBRGB':
+ return
+
+ from .util import get_linked_node_and_socket