/// <summary> /// Al recibir un mensaje desde el servidor Unity /// </summary> /// <param name="sender">Emisor</param> /// <param name="e">Mensaje</param> private void UnityCommServer_OnMessage(object sender, string e) { UnityMessage message = Json.Parse <UnityMessage>(e); if (message == null) { return; } if (message.UnityId != this.UnityId) { return; } JObject jObj = JObject.Parse(e); if (!jObj.ContainsKey("data")) { return; } JToken data = jObj["data"]; if (!data.HasValues || data.First.Path == "connection_event") { return; } string msg = data.ToString(); Debug.WriteLine(this, "Procesando mensaje Unity: " + msg, VerbosityLevel.Debug); OnMessage?.Invoke(this, msg); }
/// <summary> /// Escribir un objeto al cliente Unity /// </summary> /// <typeparam name="T">Tipo del objeto enviar</typeparam> /// <param name="unityId">Identificador de Unity</param> /// <param name="obj">Objeto a escribir</param> public void Write <T>(string unityId, T obj) { if (m_currentUnityClient == null) { return; } var msg = new UnityMessage <T>(unityId, obj); string serialized = JsonConvert.SerializeObject(msg); Debug.WriteLine(this, "Escribiendo mensaje por el servidor de Unity: " + serialized, VerbosityLevel.Debug); m_currentUnityClient.Send(serialized); }