from lnx.logicnode.lnx_nodes import * class ConvexBreakNode(LnxLogicTreeNode): """Breaks a convex object.""" bl_idname = 'LNConvexBreakNode' bl_label = 'Convex Break' lnx_version = 1 def update_sockets(self, context): while len(self.inputs) > 2: self.inputs.remove(self.inputs[-1]) if self.property0 == 'Impact': self.add_input('LnxVectorSocket', 'Impact Point') self.add_input('LnxVectorSocket', 'Impact Normal') else: self.add_input('LnxBoolSocket', 'Random Plane') self.add_input('LnxVectorSocket', 'Plane') self.add_input('LnxFloatSocket', 'Scale UV') self.add_input('LnxBoolSocket', 'Flat Shading', default_value = True) property0: HaxeEnumProperty( 'property0', items = [('Impact', 'Subdivide by Impact', 'Subdivide by Impact'), ('Plane', 'Subdivide by Plane', 'Subdivide by Plane')], name='', default='Impact', update=update_sockets) def lnx_init(self, context): self.add_input('LnxNodeSocketAction', 'In') self.add_input('LnxNodeSocketObject', 'Object') self.add_output('LnxNodeSocketAction', 'Out') self.add_output('LnxNodeSocketAction', 'True') self.add_output('LnxNodeSocketAction', 'False') self.add_output('LnxNodeSocketArray', 'Array') self.update_sockets(context) def draw_buttons(self, context, layout): layout.prop(self, 'property0')