Browse Source

Merge 5e1551147c into 22892ef702

pull/190/merge
Joseph Davies 1 month ago committed by GitHub
parent
commit
6abb3eaec3
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

@ -25,7 +25,7 @@ from .. import enum_props
from .node_core import * from .node_core import *
from ..properties.modifiers.physics import subworld_types from ..properties.modifiers.physics import subworld_types
from ..properties.modifiers.region import footstep_surfaces, footstep_surface_ids from ..properties.modifiers.region import footstep_surfaces, footstep_surface_ids
from ..exporter import ExportError from ..exporter import ExportError, utils
from .. import idprops from .. import idprops
if TYPE_CHECKING: if TYPE_CHECKING:
@ -676,7 +676,7 @@ class PlasmaSceneObjectMsgRcvrNode(idprops.IDPropObjectMixin, PlasmaNodeBase, bp
"message": { "message": {
"text": "Message", "text": "Message",
"type": "PlasmaNodeSocketInputGeneral", "type": "PlasmaNodeSocketInputGeneral",
"valid_link_sockets": {"PlasmaEnableMessageSocket"}, "valid_link_sockets": {"PlasmaEnableMessageSocket", "PlasmaWarpMessageSocket"},
"spawn_empty": True, "spawn_empty": True,
}, },
} }
@ -1043,3 +1043,35 @@ class PlasmaFootstepSoundMsgNode(PlasmaMessageNode, bpy.types.Node):
msg.BCastFlags |= (plMessage.kPropagateToModifiers | plMessage.kNetPropagate) msg.BCastFlags |= (plMessage.kPropagateToModifiers | plMessage.kNetPropagate)
msg.surface = footstep_surface_ids[self.surface] msg.surface = footstep_surface_ids[self.surface]
return msg 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