void onRNMessage(string message) { if (message.StartsWith(MessagePrefix)) { message = message.Replace(MessagePrefix, ""); } else { return; } InnerMessageHandler handler = InnerMessageHandler.Deserialize(message); if ("end".Equals(handler.seq)) { // handle callback message UnityMessage m; if (waitCallbackMessageMap.TryGetValue(handler.id, out m)) { waitCallbackMessageMap.Remove(handler.id); if (m.callBack != null) { m.callBack(handler.getData <object>()); // todo } } return; } if (OnRNMessage != null) { OnRNMessage(handler); } }
public static InnerMessageHandler Deserialize(string message) { JObject m = JObject.Parse(message); InnerMessageHandler handler = new InnerMessageHandler( m.GetValue("id").Value <int>(), m.GetValue("seq").Value <string>(), m.GetValue("name").Value <string>(), m.GetValue("data") ); return(handler); }
protected void SetInnerMessageHandler(InnerMessageHandler inrMessageHandler) { innerMessageHandler = inrMessageHandler; }