from lnx.logicnode.lnx_nodes import *


class StringNode(LnxLogicVariableNodeMixin, LnxLogicTreeNode):
    """Stores the given string as a variable."""
    bl_idname = 'LNStringNode'
    bl_label = 'String'
    lnx_version = 1

    def lnx_init(self, context):
        self.add_input('LnxStringSocket', 'String In')

        self.add_output('LnxStringSocket', 'String Out', is_var=True)

    def synchronize_from_master(self, master_node: LnxLogicVariableNodeMixin):
        self.inputs[0].default_value_raw = master_node.inputs[0].get_default_value()