Encapsulates a connection between the current data model and another for
plugin communication.
Its interface does not cross the network boundary.
Instances of this class cannot be created with Instance.new.
Tags: [NotCreatable, NotReplicated]
Studio plugins run in each Studio data model that the user opens, including
both edit and playtest data models. PluginConnection objects allow these
instances of the same plugin to communicate across data model boundaries.
Messages sent by PluginConnection:SendMessage() will be received in
the remote data model via the callback the same plugin registers with
PluginConnection:BindToMessage(). Each PluginConnection object can
both send and receive messages while connected, and messages will be received
reliably and in order unless the connection drops (e.g. due to the remote data
model shutting down) before their receipt.
Note that although multiple plugins may share the same PluginConnection
object, they each have their own internal connection; each plugin will receive
only its own messages in its callback to BindToMessage(), even if other
plugins call SendMessage().
This function binds a callback to this connection, which will be called
when the connection receives a message from the current plugin running in
the remote data model. The message passed to the callback will be the same
as the one the plugin passed to SendMessage(). The PluginConnection
will buffer any messages received before the plugin calls
BindToMessage() and deliver them immediately when the plugin does call
BindToMessage(). Each plugin may only bind one callback at a time.
History 1
If true, then this PluginConnection remains connected to the target data
model, and it is still possible to send messages to that data model and
receive them from it. If false, then the connection has been lost. Once
disconnected, PluginConnection objects cannot reconnect, so a value of
false here indicates it is now safe to discard the PluginConnection
object.
Its interface does not cross the network boundary.
Its value can be read, but it cannot be modified.
History 1
Tags: [ReadOnly, NotReplicated]
It cannot be accessed by script code.
Its interface does not cross the network boundary.
Its value can be read, but it cannot be modified.
It is not meant to be used, and may have unresolved issues.
History 1
Tags: [Hidden, ReadOnly, NotReplicated, NotScriptable]
This function transmits a string or buffer to the remote data model. The
callback registered in BindToMessage() by the instance of the current
plugin running in the remote data model will be called asynchronously with
the message as its argument.
History 2
This string contains a globally unique identifier for the target data
model, which will be the same for any two plugin connections that target
the same data model (even if those connections originate from different
data models). This property is immutable.
Its interface does not cross the network boundary.
Its value can be read, but it cannot be modified.
History 1
Tags: [ReadOnly, NotReplicated]
Its interface does not cross the network boundary.
Its value can be read, but it cannot be modified.
History 1
Tags: [ReadOnly, NotReplicated]