This repository has been archived on 2023-10-09. You can view files and clone it, but cannot push or open issues or pull requests.
Files
blender-archive/release/scripts/startup/nodes/function_nodes/value.py

30 lines
849 B
Python

import bpy
from bpy.props import *
from .. base import FunctionNode
from .. node_builder import NodeBuilder
class ValueNode(bpy.types.Node, FunctionNode):
bl_idname = "fn_ValueNode"
bl_label = "Value"
data_type: StringProperty(
name="Data Type",
default="Float",
update=FunctionNode.sync_tree,
)
def declaration(self, builder: NodeBuilder):
builder.fixed_output("value", "Value", self.data_type)
def draw_socket(self, layout, socket, text, decl, index_in_decl):
row = layout.row(align=True)
if hasattr(socket, "draw_property"):
socket.draw_property(row, self, "")
else:
row.label(text=text)
self.invoke_type_selection(row, "set_type", text="", icon="SETTINGS")
def set_type(self, data_type):
self.data_type = data_type