public QueryEvent Parse(JSONObj jObj)
        {
            Debug.Assert(jObj.IsObject);

            QueryEvent ev = new QueryEvent();

            for (int i = 0; i < jObj.keys.Count; i++)
            {
                ev.Attributes.Add(jObj.keys[i], jObj.list[i]);
            }

            return(ev);
        }
        public void AddEvent(QueryEvent newEvent)
        {
            events.Add(new TelemetryEvent(
                           newEvent.Name,
                           newEvent.Category,
                           newEvent.SessionId,
                           $"{newEvent.BuildType} {newEvent.BuildId} {newEvent.Platform}",
                           newEvent.PlayerPosition,
                           newEvent.PlayerDirection,
                           newEvent.Time));

            newEvent.GetAttributes(ref events[events.Count - 1].Values);

            foreach (var attr in events[events.Count - 1].Values)
            {
                attributeNames.Add(attr.Key);
            }
        }