![]() |
Mercury Messaging
Documentation for the Mercury Messaging Framework
|
Namespaces |
Classes | |
class | EditorList |
class | EnumFlagsAttributeDrawer |
interface | IMmNetworkResponder |
Implement this interface to utilize your chosen Networking framework with Mercury XM. More... | |
interface | IMmNode |
Defines methods required by an MmResponder & utility methods making invocation MmMethods with built-in MmMessages easier. More... | |
interface | IMmResponder |
The core of MercuryMessaging. This interface specifies MmInvoke - which is the message-passing utility of the framework. Awake/Start callbacks are also required to allow the framework to ensure certain components are in place (in both networked and local environments) when needed. More... | |
class | MmBaseResponder |
MmResponder that implements a switch handling the framework-provided MmMethods. More... | |
class | MmBehaviorEditor |
Custom Editor for MmResponder. More... | |
class | MmBehaviorListDrawer |
MmRoutingTable drawer. Note: Based on https://gist.github.com/YuukiTsuchida/84a8f3ebdecf830c277c More... | |
class | MmBehaviorListItemDrawer |
MmRoutingTableItem drawer. Adapted from http://catlikecoding.com/unity/tutorials/editor/custom-data/ More... | |
class | MmLevelFilterHelper |
Utility to quickly generate MmLevelFilterHelpers. | |
class | MmLogger |
Mercury's Logger is used throughout the framework to log: Framework, MmResponder, Application, and Error level messages. More... | |
class | MmMessage |
Base class for messages passed through MmInvoke Built on Unity's Message Base, allowing usage of serialize/deserialize More... | |
class | MmMessageBool |
MmMessage with bool payload More... | |
class | MmMessageByteArray |
MmMessage with byte array payload More... | |
class | MmMessageFloat |
MmMessage with float payload More... | |
class | MmMessageInt |
MmMessage with int payload More... | |
class | MmMessageSerializable |
MmMessage that sends a serialized object as payload You need to assign your implementation of the IMSerializable interface to the Serializable types somewhere in your program. Additionally, you need to invoke the AssignType function manually if you do not create the message using the constructor with an IMSerializable as a parameter or the copy constructor. More... | |
class | MmMessageString |
MmMessage with string payload More... | |
class | MmMessageTransform |
MmMessage with MmTransform payload More... | |
class | MmMessageTransformList |
MmMessage with Transform List payload More... | |
class | MmMessageVector3 |
MmMessage with Vector3 payload More... | |
class | MmMessageVector4 |
MmMessage with Vector4 payload More... | |
class | MmMetadataBlock |
MmMetadataBlock is a collection of settings allowing you to specify the precise invocation path of an MmMessage invoked on an MmRelayNode through its MercuryMessaging hierarchy. More... | |
class | MmMetadataBlockHelper |
Helper class to easily create common MercuryMessaging MetadataBlocks | |
class | MmNetworkManager |
A object that interacts with the UNET networking environment More... | |
class | MmNetworkResponder |
class | MmQuickNode |
Modification of the standard MmRelayNode that allows skipping of standard checks to allow for faster propagation. More... | |
class | MmRelayNode |
Base routing node of Mercury XM. Contains a list of MmResponders and sends MmMessages to responders in list, following the specifications of control blocks to MmInvoke method. More... | |
class | MmRelaySwitchNode |
an MmRelayNode with an FSM to allow for limited MmResponder selection in the MmRelayNode's MmRoutingTable. More... | |
class | MmResponder |
Base implmentation of IMmResponder. More... | |
class | MmRoutingTable |
A form of Reorderable List ReorderableList<T> specifically for all derivations of MmResponder. More... | |
class | MmRoutingTableItem |
Wrapper objects for MmResponders for use in MmRoutingTables. More... | |
class | MmSwitchResponder |
Controller for MmRelaySwitchNode. More... | |
class | MmTagHelper |
class | MmTestManager |
Utility to allow for easy testing of an MmRelaySwitchNode & MmSwitchResponder. More... | |
struct | MmTransform |
A struct containing the translation, rotation and scale of a transformation. More... | |
class | MmTransformResponder |
class | MxmLevelFilterDrawer |
Drawer for handling MxmLevelFilters More... | |
class | MxmTagDrawer |
Drawer fro handling MxmTags More... | |
Enumerations | |
enum | EditorListOption { None = 0, ListSize = 1, ListLabel = 2, ElementLabels = 4, Buttons = 8, Default = ListSize | ListLabel | ElementLabels, NoElementLabels = ListSize | ListLabel, All = Default | Buttons } |
enum | MmActiveFilter { Active, All } |
Filter that allows you to send messages only to objects active in MercuryMessaging hierarchy or to all objects. More... | |
enum | MmLevelFilter { Self = 1 << 0, Child = 1 << 1, Parent = 1 << 2 } |
Filter represents relationship types of MmResponders. More... | |
enum | MmMessageType : short { MmVoid = 1001, MmInt, MmBool, MmFloat, MmVector3, MmVector4, MmString, MmByteArray, MmTransform, MmTransformList, MmSerializable } |
Supported base MercuryMessage Message types. You may want to add new values here if you want to support new message types across the framework. More... | |
enum | MmMethod { NoOp = 0, Initialize, SetActive, Refresh, Switch, Complete, TaskInfo, Message, MessageBool, MessageByteArray, MessageFloat, MessageInt, MessageSerializable, MessageString, MessageTransform, MessageTransformList, MessageVector3, MessageVector4, Transform } |
The list of support MmRelayNode function calls. MmMethod only defines values 0-18. In order to invoke new method types, you can use any number, without adding it to this list. We suggest you start above 1000 to safely avoid clashes with the core of the framework. More... | |
enum | MmNetworkFilter { All, Local, Network } |
Filter that allows you to specifiy whether a message should execute locally or over the network. If Network is specified, the message should not execute locally. This is useful when you do not want a message to effect the local MercuryMessaging Hierarchy. More... | |
enum | MmSelectedFilter { All, Selected } |
Filter that allows you to send messages only to selected objects. The definition of selected is left open for anyone to redefine. In MmRelayNode, selected is not defined. In MmRelaySwitchNode, selected means active in the FSM. More... | |
enum | MmTag { Tag0 = 1 << 0, Tag1 = 1 << 1, Tag2 = 1 << 2, Tag3 = 1 << 3, Tag4 = 1 << 4, Tag5 = 1 << 5, Tag6 = 1 << 6, Tag7 = 1 << 7 } |
Functions | |
delegate void | IMmCallback () |
IMm callback type used by implementations of IMmResponder. More... | |
|
strong |
Filter that allows you to send messages only to objects active in MercuryMessaging hierarchy or to all objects.
|
strong |
Filter represents relationship types of MmResponders.
|
strong |
Supported base MercuryMessage Message types. You may want to add new values here if you want to support new message types across the framework.
|
strong |
The list of support MmRelayNode function calls. MmMethod only defines values 0-18. In order to invoke new method types, you can use any number, without adding it to this list. We suggest you start above 1000 to safely avoid clashes with the core of the framework.
|
strong |
Filter that allows you to specifiy whether a message should execute locally or over the network. If Network is specified, the message should not execute locally. This is useful when you do not want a message to effect the local MercuryMessaging Hierarchy.
|
strong |
Filter that allows you to send messages only to selected objects. The definition of selected is left open for anyone to redefine. In MmRelayNode, selected is not defined. In MmRelaySwitchNode, selected means active in the FSM.
delegate void MercuryMessaging.IMmCallback | ( | ) |
IMm callback type used by implementations of IMmResponder.