[Bf-blender-cvs] [0a07de88395] functions: object data type in ui

Jacques Lucke noreply at git.blender.org
Tue Jul 9 18:01:44 CEST 2019


Commit: 0a07de883957ca3f9613aaeee7f727f6982d4294
Author: Jacques Lucke
Date:   Tue Jul 9 16:02:30 2019 +0200
Branches: functions
https://developer.blender.org/rB0a07de883957ca3f9613aaeee7f727f6982d4294

object data type in ui

===================================================================

M	release/scripts/startup/nodes/sockets.py
M	release/scripts/startup/nodes/types.py

===================================================================

diff --git a/release/scripts/startup/nodes/sockets.py b/release/scripts/startup/nodes/sockets.py
index a233b26b25f..417fe98986b 100644
--- a/release/scripts/startup/nodes/sockets.py
+++ b/release/scripts/startup/nodes/sockets.py
@@ -86,6 +86,25 @@ class BooleanSocket(bpy.types.NodeSocket, DataSocket):
     def restore_state(self, state):
         self.value = state
 
+class ObjectSocket(bpy.types.NodeSocket, DataSocket):
+    bl_idname = "fn_ObjectSocket"
+    bl_label = "Object Socket"
+    socket_color = (0, 0, 0, 1)
+
+    value: PointerProperty(
+        name="Value",
+        type=bpy.types.Object,
+    )
+
+    def draw_property(self, layout, node, text):
+        layout.prop(self, "value", text=text)
+
+    def get_state(self):
+        return self.value
+
+    def restore_state(self, state):
+        self.value = state
+
 class CustomColoredSocket(bpy.types.NodeSocket, DataSocket):
     bl_idname = "fn_CustomColoredSocket"
     bl_label = "Custom Colored Socket"
diff --git a/release/scripts/startup/nodes/types.py b/release/scripts/startup/nodes/types.py
index 9edaa918af9..f6dc77b1b26 100644
--- a/release/scripts/startup/nodes/types.py
+++ b/release/scripts/startup/nodes/types.py
@@ -9,6 +9,7 @@ from . sockets import (
     IntegerSocket,
     VectorSocket,
     BooleanSocket,
+    ObjectSocket,
     CustomColoredSocket,
 )
 
@@ -30,5 +31,9 @@ type_infos.insert_data_type(
     "Boolean",
     UniqueSocketBuilder(BooleanSocket),
     ColoredSocketBuilder((0.3, 0.3, 0.3, 0.5)))
+type_infos.insert_data_type(
+    "Object",
+    UniqueSocketBuilder(ObjectSocket),
+    ColoredSocketBuilder((0, 0, 0, 0.5)))
 
 type_infos.insert_conversion_group(["Boolean", "Integer", "Float"])



More information about the Bf-blender-cvs mailing list