Browse Source

Merge 5e1551147c into 86ebb069ed

pull/190/merge
Joseph Davies 3 months ago committed by GitHub
parent
commit
c12410b4de
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 36
      korman/nodes/node_messages.py

36
korman/nodes/node_messages.py

@ -24,7 +24,7 @@ from typing import *
from .node_core import *
from ..properties.modifiers.physics import subworld_types
from ..properties.modifiers.region import footstep_surfaces, footstep_surface_ids
from ..exporter import ExportError
from ..exporter import ExportError, utils
from .. import idprops
if TYPE_CHECKING:
@ -707,7 +707,7 @@ class PlasmaSceneObjectMsgRcvrNode(idprops.IDPropObjectMixin, PlasmaNodeBase, bp
"message": {
"text": "Message",
"type": "PlasmaNodeSocketInputGeneral",
"valid_link_sockets": {"PlasmaEnableMessageSocket"},
"valid_link_sockets": {"PlasmaEnableMessageSocket", "PlasmaWarpMessageSocket"},
"spawn_empty": True,
},
}
@ -1071,3 +1071,35 @@ class PlasmaFootstepSoundMsgNode(PlasmaMessageNode, bpy.types.Node):
msg.BCastFlags |= (plMessage.kPropagateToModifiers | plMessage.kNetPropagate)
msg.surface = footstep_surface_ids[self.surface]
return msg
class PlasmaWarpMsgNode(PlasmaMessageNode, bpy.types.Node):
bl_category = "MSG"
bl_idname = "PlasmaWarpMsgNode"
bl_label = "Warp"
pos_object = PointerProperty(name="Position",
description="Object defining the target position",
type=bpy.types.Object)
output_sockets = OrderedDict([
("receivers", {
"text": "Send To",
"type": "PlasmaWarpMessageSocket",
"valid_link_sockets": {"PlasmaWarpMessageSocket", "PlasmaNodeSocketInputGeneral"},
}),
])
def draw_buttons(self, context, layout):
layout.prop(self, "pos_object")
def convert_message(self, exporter, so):
msg = plWarpMsg()
msg.BCastFlags |= plMessage.kNetPropagate
msg.warpFlags |= plWarpMsg.kFlushTransform
msg.transform = utils.matrix44(self.pos_object.matrix_local)
return msg
class PlasmaWarpMessageSocket(PlasmaNodeSocketBase, bpy.types.NodeSocket):
bl_color = (0.427, 0.196, 0.0, 1.0)

Loading…
Cancel
Save