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):
|
||
|
super(WaitForNode, self).__init__()
|
||
|
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))
|
||
|
|