/// <summary> /// Sends message with optional data. /// </summary> /// <param name="id">The message id (identifying target).</param> /// <param name="data">(optional) The data attached to the message.</param> /// <remarks> /// Message format: /// { /// "id": MESSAGE_TARGET_ID, // <paramref name="id" /> /// "data": SERIALIZED_DATA, // <paramref name="data" /> /// } /// /// Raw message is automatically prefixed with <see cref="UnityMessageManager.MessagePrefix" /> /// constant to distinguish it from unformatted messages. /// </remarks> public static void Send(string id, object data = null) { CheckMainThreadAccess(); UnityMessageManager.SendPlainInternal(id, data); }
/// <summary> /// Sends message with data. /// </summary> /// <param name="id">The message id (identifying target).</param> /// <param name="message">The message data.</param> /// <remarks> /// Message format: /// { /// "id": MESSAGE_TARGET_ID, // <paramref name="id" /> /// "type": SERIALIZED_TYPE, // <paramref name="message.Type" /> /// "data": SERIALIZED_DATA, // <paramref name="message" /> /// } /// /// Raw message is automatically prefixed with <see cref="UnityMessageManager.MessagePrefix" /> /// constant to distinguish it from unformatted messages. /// </remarks> public static void Send <TMessageType>(string id, IUnityMessage <TMessageType> message) where TMessageType : Enum { CheckMainThreadAccess(); UnityMessageManager.SendPlainInternal(id, (int)(object)message.Type(), message); }