32 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from lnx.logicnode.lnx_nodes import *
 | |
| 
 | |
| class WaitForNode(LnxLogicTreeNode):
 | |
|     """
 | |
|     Activate the output when all inputs have been activated at least once since the node's initialization.
 | |
|     Use This node for parallel flows. Inputs don't need to be active at the same point in time.
 | |
| 
 | |
|     @input Input[0-n]: list of inputs to be activated
 | |
|     @output Output: output triggered when all inputs are activated
 | |
|     """
 | |
|     bl_idname = 'LNWaitForNode'
 | |
|     bl_label = 'Wait for All Inputs'
 | |
|     lnx_section = 'flow'
 | |
|     lnx_version = 1
 | |
|     
 | |
|     def __init__(self, *args, **kwargs):
 | |
|         super(WaitForNode, self).__init__(*args, **kwargs)
 | |
|         array_nodes[str(id(self))] = self
 | |
| 
 | |
|     def lnx_init(self, context):
 | |
|         self.add_output('LnxNodeSocketAction', 'Out')
 | |
| 
 | |
|     def draw_buttons(self, context, layout):
 | |
|         row = layout.row(align=True)
 | |
| 
 | |
|         op = row.operator('lnx.node_add_input', text='New', icon='PLUS', emboss=True)
 | |
|         op.node_index = str(id(self))
 | |
|         op.socket_type = 'LnxNodeSocketAction'
 | |
|         op2 = row.operator('lnx.node_remove_input', text='', icon='X', emboss=True)
 | |
|         op2.node_index = str(id(self))
 | |
| 
 |