armory/blender/arm/logicnode/native_script.py

29 lines
882 B
Python
Raw Normal View History

2017-04-08 00:34:45 +02:00
import bpy
from bpy.props import *
from bpy.types import Node, NodeSocket
from arm.logicnode.arm_nodes import *
class ScriptNode(Node, ArmLogicTreeNode):
'''Script node'''
bl_idname = 'LNScriptNode'
bl_label = 'Script'
2018-12-18 23:48:38 +01:00
bl_icon = 'QUESTION'
2017-04-08 00:34:45 +02:00
@property
def property0(self):
2017-10-18 09:51:35 +02:00
return bpy.data.texts[self.property0_].as_string() if self.property0_ in bpy.data.texts else ''
2017-04-08 00:34:45 +02:00
2018-12-18 23:48:38 +01:00
property0_: StringProperty(name='Text', default='')
2017-04-08 00:34:45 +02:00
def init(self, context):
2017-04-08 20:05:35 +02:00
self.inputs.new('ArmNodeSocketAction', 'In')
2018-06-12 23:16:28 +02:00
self.inputs.new('ArmNodeSocketArray', 'Array')
2017-04-08 20:05:35 +02:00
self.outputs.new('ArmNodeSocketAction', 'Out')
2017-04-08 00:34:45 +02:00
self.outputs.new('NodeSocketShader', 'Result')
def draw_buttons(self, context, layout):
layout.prop_search(self, 'property0_', bpy.data, 'texts', icon='NONE', text='')
add_node(ScriptNode, category='Native')