from lnx.logicnode.lnx_nodes import *


class MaskNode(LnxLogicVariableNodeMixin, LnxLogicTreeNode):
    """TO DO."""
    bl_idname = 'LNMaskNode'
    bl_label = 'Mask'
    lnx_version = 1

    def lnx_init(self, context):
        for i in range(1, 21):
            label = 'Group {:02d}'.format(i)
            self.inputs.new('LnxBoolSocket', label)

        self.add_output('LnxIntSocket', 'Mask', is_var=True)

    def synchronize_from_master(self, master_node: LnxLogicVariableNodeMixin):
        for i in range(len(self.inputs)):
            self.inputs[i].default_value_raw = master_node.inputs[i].get_default_value()