コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }