public static JsonEncodedEventMessage Deserialize(string jsonString)
        {
            JsonEncodedEventMessage msg = null;

            try { msg = JsonFx.Json.JsonReader.Deserialize <JsonEncodedEventMessage>(jsonString); }
            catch (Exception ex)
            {
                Trace.WriteLine(ex);
            }
            return(msg);
        }
        public static JsonEncodedEventMessage Deserialize(string jsonString)
        {
            JsonEncodedEventMessage msg = null;

            try { msg = JsonConvert.DeserializeObject <JsonEncodedEventMessage>(jsonString); }
            catch (Exception ex)
            {
                Trace.WriteLine(ex);
            }
            return(msg);
        }
        public static JsonEncodedEventMessage Deserialize(string jsonString)
        {
            JsonEncodedEventMessage msg = null;

            try { msg = fastJSON.JSON.Instance.ToObject <JsonEncodedEventMessage>(jsonString); }
            catch (Exception ex)
            {
                Trace.WriteLine(ex);
            }
            return(msg);
        }
        public EventMessage(string eventName, object jsonObject, string endpoint, Action <Object> callBack)
            : this()
        {
            this.Callback = callBack;
            this.Endpoint = endpoint;

            if (callBack != null)
            {
                this.AckId = EventMessage.NextAckID;
            }

            JsonEncodedMessage = new JsonEncodedEventMessage(eventName, jsonObject);
            this.MessageText   = this.Json.ToJsonString();
        }
Exemple #5
0
        public static EventMessage Deserialize(string rawMessage)
        {
            EventMessage evtMsg = new EventMessage();

            //  '5:' [message id ('+')] ':' [message endpoint] ':' [json encoded event]
            //   5:1::{"a":"b"}
            evtMsg.RawMessage = rawMessage;
            try
            {
                string[] args = rawMessage.Split(SPLITCHARS, 4);                 // limit the number of pieces
                if (args.Length == 4)
                {
                    int id;
                    if (args[1].Length > 0 && int.TryParse(args[1].Substring(0, args[1].Length - 1), out id))
                    {
                        evtMsg.AckId = id;
                    }
                    evtMsg.Endpoint    = args[2];
                    evtMsg.MessageText = args[3];

                    if (!string.IsNullOrEmpty(evtMsg.MessageText) &&
                        evtMsg.MessageText.Contains("name") &&
                        evtMsg.MessageText.Contains("args"))
                    {
                        evtMsg.Json  = JsonEncodedEventMessage.Deserialize(evtMsg.MessageText);
                        evtMsg.Event = evtMsg.Json.Name;
                    }
                    else
                    {
                        evtMsg.Json = new JsonEncodedEventMessage();
                    }
                }
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex);
            }
            return(evtMsg);
        }
Exemple #6
0
        public static EventMessage Deserialize(string rawMessage)
        {
            EventMessage evtMsg = new EventMessage();

            //  '5:' [message id ('+')] ':' [message endpoint] ':' [json encoded event]
            //   5:1::{"a":"b"}
            evtMsg.RawMessage = rawMessage;
            try
            {
                IList <string> args = rawMessage.Split(Separator, 4);                // limit the number of pieces
                if (args.Count == 4)
                {
                    int id;
                    if (int.TryParse(args[1], out id))
                    {
                        evtMsg.AckId = id;
                    }
                    evtMsg.Endpoint    = args[2];
                    evtMsg.MessageText = args[3];

                    if (!string.IsNullOrEmpty(evtMsg.MessageText) &&
                        evtMsg.MessageText.Contains("name") &&
                        evtMsg.MessageText.Contains("args"))
                    {
                        evtMsg.Json  = JsonEncodedEventMessage.Deserialize(evtMsg.MessageText);
                        evtMsg.Event = evtMsg.Json.Name;
                    }
                    else
                    {
                        evtMsg.Json = new JsonEncodedEventMessage();
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            return(evtMsg);
        }
        void Update()
        {
            if (_InitTimeOut <= 0)
            {
                if (!_ConnectionIdFetched)
                {
                    if (CommunicationsApi.IsAvailable)
                    {
                        //Gets the users own session id
                        CommunicationsApi.Socket.Emit("Person.you", null, "", o =>
                        {
                            SocketIOClient.Messages.JsonEncodedEventMessage m = (SocketIOClient.Messages.JsonEncodedEventMessage)o;
                            var tmp      = (o as JsonEncodedEventMessage).GetFirstArgAs <string[]>();
                            ConnectionId = tmp[0];
                        });
                        _ConnectionIdFetched = true;
                    }
                }
                if (_SendTimeCount <= 0)
                {
                    print("Getting pos for you");
                    //Moving player


                    //All other users
                    DataStore.List <Person>(o =>
                    {
                        foreach (Person p in o)
                        {
                            //Skips the local session
                            if (p.Id == ConnectionId)
                            {
                                continue;
                            }
                            //Check if the person is new
                            if (!Persons.Contains(p))
                            {
                                print("====== A New Person Has Entered The Realm ======");
                                Persons.Add(p);
                                //p.gameobject = GameObject.CreatePrimitive(PrimitiveType.Sphere);
                                //p.gameobject.transform.position = new Vector3(4.0f, 1.0f, 37.0f);
                                p.gameobject = Instantiate(GamePerson);
                                p.gameobject.transform.position = p.Location;
                                p.gameobject.name = "Person: " + p.Id;
                                //NavMeshAgent agent = p.gameobject.AddComponent<NavMeshAgent>();
                                NavMeshAgent agent = p.gameobject.GetComponent <NavMeshAgent>();
                                agent.acceleration = 100.0f;
                            }
                            else
                            {
                                if (p.gameobject != null)
                                {
                                    NavMeshAgent person = p.gameobject.GetComponent <NavMeshAgent>();
                                    NavMeshPath path    = new NavMeshPath();
                                    float totalDistance = 0.0f;
                                    Vector3 prevPos     = person.gameObject.transform.position;

                                    person.CalculatePath(p.Location, path);
                                    foreach (Vector3 subPath in path.corners)
                                    {
                                        totalDistance += Vector3.Distance(prevPos, subPath);
                                        prevPos        = subPath;
                                    }

                                    person.speed = totalDistance / _SendTimeOut;
                                    person.SetPath(path);
                                }
                            }
                        }
                    });
                    _SendTimeCount = _SendTimeOut;
                }
                else
                {
                    _SendTimeCount -= Time.deltaTime;
                }
            }
            else
            {
                _InitTimeOut -= Time.deltaTime;
            }
        }
        public static JsonEncodedEventMessage Deserialize(string jsonString)
        {
            JsonEncodedEventMessage msg = null;

            return(msg);
        }