31 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			31 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								from lnx.logicnode.lnx_nodes import *
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class ArrayDisplayNode(LnxLogicTreeNode):
							 | 
						||
| 
								 | 
							
								    """Returns the display of the given array."""
							 | 
						||
| 
								 | 
							
								    bl_idname = 'LNArrayDisplayNode'
							 | 
						||
| 
								 | 
							
								    bl_label = 'Array Display'
							 | 
						||
| 
								 | 
							
								    lnx_version = 1
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								    def remove_extra_inputs(self, context):
							 | 
						||
| 
								 | 
							
								        while len(self.inputs) > 2:
							 | 
						||
| 
								 | 
							
								            self.inputs.remove(self.inputs[-1])
							 | 
						||
| 
								 | 
							
								        if self.property0 == 'Item Field':
							 | 
						||
| 
								 | 
							
								            self.add_input('LnxStringSocket', 'Item Field')
							 | 
						||
| 
								 | 
							
								        if self.property0 == 'Item Property':
							 | 
						||
| 
								 | 
							
								            self.add_input('LnxStringSocket', 'Item Property')
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								    property0: HaxeEnumProperty(
							 | 
						||
| 
								 | 
							
								    'property0',
							 | 
						||
| 
								 | 
							
								    items = [('Item', 'Item', 'Array Item'),
							 | 
						||
| 
								 | 
							
								             ('Item Field', 'Item Field', 'Object Item Field, ie: name, uid, visible, parent, length, etc.'),
							 | 
						||
| 
								 | 
							
								             ('Item Property', 'Item Property', 'Object Item Property')],
							 | 
						||
| 
								 | 
							
								    name='', default='Item', update=remove_extra_inputs)
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								    def lnx_init(self, context):
							 | 
						||
| 
								 | 
							
								        self.add_input('LnxNodeSocketArray', 'Array')
							 | 
						||
| 
								 | 
							
								        self.add_input('LnxStringSocket', 'Separator')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        self.add_output('LnxStringSocket', 'Items')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    def draw_buttons(self, context, layout):
							 | 
						||
| 
								 | 
							
								        layout.prop(self, 'property0')
							 |