32 lines
1.1 KiB
Python
Raw Normal View History

2025-01-22 16:18:30 +01:00
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))