From 46dea1cc739bd3ce30d684177e25f32df55ba5b3 Mon Sep 17 00:00:00 2001 From: Adam Johnson Date: Sun, 12 Jul 2015 18:04:15 -0400 Subject: [PATCH] Implement a node for plTimerCallbackMsg This one is really simple. It just delays the execution of linked responder commands. Useful. --- korman/nodes/node_messages.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/korman/nodes/node_messages.py b/korman/nodes/node_messages.py index 74d1fba..a27569f 100644 --- a/korman/nodes/node_messages.py +++ b/korman/nodes/node_messages.py @@ -299,6 +299,33 @@ class PlasmaOneShotCallbackSocket(PlasmaMessageSocketBase, bpy.types.NodeSocket) layout.prop(self, "marker") +class PlasmaTimerCallbackMsgNode(PlasmaMessageNode, bpy.types.Node): + bl_category = "MSG" + bl_idname = "PlasmaTimerCallbackMsgNode" + bl_label = "Timed Callback" + + delay = FloatProperty(name="Delay", + description="Time (in seconds) to wait until continuing", + min=0.1, + default=1.0) + + def draw_buttons(self, context, layout): + layout.prop(self, "delay") + + def convert_callback_message(self, exporter, tree, so, msg, target, wait): + msg.addReceiver(target) + msg.ID = wait + + def convert_message(self, exporter, tree, so): + msg = plTimerCallbackMsg() + msg.time = self.delay + return msg + + @property + def has_callbacks(self): + return True + + class PlasmaFootstepSoundMsgNode(PlasmaMessageNode, bpy.types.Node): bl_category = "MSG" bl_idname = "PlasmaFootstepSoundMsgNode"