Пример #1
0
        public static JSONObj Serialize(QueryNode node)
        {
            JSONObj masterObj = new JSONObj(JSONObj.ObjectType.OBJECT);

            masterObj.AddField("type", node.Type.ToString().ToLower());
            masterObj.AddField("op", node.Operator.ToString().ToLower());

            switch (node.Type)
            {
            case QueryNodeType.Group:
                JSONObj innerObj = new JSONObj(JSONObj.ObjectType.ARRAY);

                foreach (QueryNode Item in node.Children)
                {
                    innerObj.Add(Serialize(Item));
                }

                masterObj.AddField("children", innerObj);
                break;

            case QueryNodeType.Comparison:
                masterObj.AddField("column", node.Column);
                masterObj.AddField("value", node.Value);
                break;
            }

            string test = masterObj.ToString();

            return(masterObj);
        }
    public static JSONObj Create(Vector3 val)
    {
        JSONObj obj = Create(ObjectType.OBJECT);
        JSONObj x   = Create(val.x);
        JSONObj y   = Create(val.y);
        JSONObj z   = Create(val.z);

        obj.AddField("x", x);
        obj.AddField("y", y);
        obj.AddField("z", z);

        return(obj);
    }
Пример #3
0
    public static JSONObj FromVector2(Vector2 v)
    {
        JSONObj vdata = JSONObj.obj;

        if (v.x != 0)
        {
            vdata.AddField("x", v.x);
        }
        if (v.y != 0)
        {
            vdata.AddField("y", v.y);
        }
        return(vdata);
    }
Пример #4
0
        public string Finalize()
        {
            JSONObj finalObject     = new JSONObj(JSONObj.ObjectType.OBJECT);
            JSONObj eventListObject = new JSONObj(JSONObj.ObjectType.OBJECT);

            foreach (var telEvent in eventList)
            {
                eventListObject.Add(telEvent);
            }

            finalObject.AddField("header", headerObject);
            finalObject.AddField("events", eventListObject);

            Payload = finalObject.Print();
            return(Payload);
        }
Пример #5
0
    /*
     * Layer Mask
     */
    public static JSONObj FromLayerMask(LayerMask l)
    {
        JSONObj result = JSONObj.obj;

        result.AddField("value", l.value);
        return(result);
    }
Пример #6
0
        public TelemetryBatchPayload(TelemetryProperties common)
        {
            headerObject = new JSONObj(JSONObj.ObjectType.OBJECT);
            eventList    = new System.Collections.Generic.List <JSONObj>();

            foreach (var Prop in common)
            {
                headerObject.AddField(Prop.Key, Prop.Value);
            }
        }
Пример #7
0
        public void AddTelemetry(TelemetryBuilder inEvent)
        {
            JSONObj eventObject = new JSONObj(JSONObj.ObjectType.OBJECT);

            foreach (var Prop in inEvent)
            {
                eventObject.AddField(Prop.Key, Prop.Value);
            }

            eventList.Add(eventObject);
        }
Пример #8
0
        // Debug utility function for outputting telemetry to a string for printing
        public static string DumpJson(TelemetryProperties properties)
        {
            JSONObj jObject = new JSONObj(JSONObj.ObjectType.OBJECT);

            foreach (var Prop in properties)
            {
                jObject.AddField(Prop.Key, Prop.Value);
            }

            return(jObject.Print());
        }
Пример #9
0
    /*
     * Vector4
     */
    public static JSONObj FromVector4(Vector4 v)
    {
        JSONObj vdata = JSONObj.obj;

        if (v.x != 0)
        {
            vdata.AddField("x", v.x);
        }
        if (v.y != 0)
        {
            vdata.AddField("y", v.y);
        }
        if (v.z != 0)
        {
            vdata.AddField("z", v.z);
        }
        if (v.w != 0)
        {
            vdata.AddField("w", v.w);
        }
        return(vdata);
    }
Пример #10
0
    public static JSONObj FromRectOffset(RectOffset r)
    {
        JSONObj result = JSONObj.obj;

        if (r.bottom != 0)
        {
            result.AddField("bottom", r.bottom);
        }
        if (r.left != 0)
        {
            result.AddField("left", r.left);
        }
        if (r.right != 0)
        {
            result.AddField("right", r.right);
        }
        if (r.top != 0)
        {
            result.AddField("top", r.top);
        }
        return(result);
    }
Пример #11
0
    public static JSONObj FromRect(Rect r)
    {
        JSONObj result = JSONObj.obj;

        if (r.x != 0)
        {
            result.AddField("x", r.x);
        }
        if (r.y != 0)
        {
            result.AddField("y", r.y);
        }
        if (r.height != 0)
        {
            result.AddField("height", r.height);
        }
        if (r.width != 0)
        {
            result.AddField("width", r.width);
        }
        return(result);
    }
Пример #12
0
    /*
     * Color
     */
    public static JSONObj FromColor(Color c)
    {
        JSONObj cdata = JSONObj.obj;

        if (c.r != 0)
        {
            cdata.AddField("r", c.r);
        }
        if (c.g != 0)
        {
            cdata.AddField("g", c.g);
        }
        if (c.b != 0)
        {
            cdata.AddField("b", c.b);
        }
        if (c.a != 0)
        {
            cdata.AddField("a", c.a);
        }
        return(cdata);
    }
Пример #13
0
    /*
     * Quaternion
     */
    public static JSONObj FromQuaternion(Quaternion q)
    {
        JSONObj qdata = JSONObj.obj;

        if (q.w != 0)
        {
            qdata.AddField("w", q.w);
        }
        if (q.x != 0)
        {
            qdata.AddField("x", q.x);
        }
        if (q.y != 0)
        {
            qdata.AddField("y", q.y);
        }
        if (q.z != 0)
        {
            qdata.AddField("z", q.z);
        }
        return(qdata);
    }
    /// <summary>
    /// Merge object right into left recursively
    /// </summary>
    /// <param name="left">The left (base) object</param>
    /// <param name="right">The right (new) object</param>
    static void MergeRecur(JSONObj left, JSONObj right)
    {
        if (left.type == ObjectType.NULL)
        {
            left.Absorb(right);
        }
        else if (left.type == ObjectType.OBJECT && right.type == ObjectType.OBJECT)
        {
            for (int i = 0; i < right.list.Count; i++)
            {
                string key = right.keys[i];
                if (right[i].isContainer)
                {
                    if (left.HasField(key))
                    {
                        MergeRecur(left[key], right[i]);
                    }
                    else
                    {
                        left.AddField(key, right[i]);
                    }
                }
                else
                {
                    if (left.HasField(key))
                    {
                        left.SetField(key, right[i]);
                    }
                    else
                    {
                        left.AddField(key, right[i]);
                    }
                }
            }
        }
        else if (left.type == ObjectType.ARRAY && right.type == ObjectType.ARRAY)
        {
            if (right.Count > left.Count)
            {
#if UNITY_2 || UNITY_3 || UNITY_4 || UNITY_5 || UNITY_5_3_OR_NEWER
                Debug.LogError
#else
                Debug.WriteLine
#endif
                    ("Cannot merge arrays when right object has more elements");

                return;
            }
            for (int i = 0; i < right.list.Count; i++)
            {
                if (left[i].type == right[i].type)                                      //Only overwrite with the same type
                {
                    if (left[i].isContainer)
                    {
                        MergeRecur(left[i], right[i]);
                    }
                    else
                    {
                        left[i] = right[i];
                    }
                }
            }
        }
    }
Пример #15
0
    /*
     * Matrix4x4
     */
    public static JSONObj FromMatrix4x4(Matrix4x4 m)
    {
        JSONObj mdata = JSONObj.obj;

        if (m.m00 != 0)
        {
            mdata.AddField("m00", m.m00);
        }
        if (m.m01 != 0)
        {
            mdata.AddField("m01", m.m01);
        }
        if (m.m02 != 0)
        {
            mdata.AddField("m02", m.m02);
        }
        if (m.m03 != 0)
        {
            mdata.AddField("m03", m.m03);
        }
        if (m.m10 != 0)
        {
            mdata.AddField("m10", m.m10);
        }
        if (m.m11 != 0)
        {
            mdata.AddField("m11", m.m11);
        }
        if (m.m12 != 0)
        {
            mdata.AddField("m12", m.m12);
        }
        if (m.m13 != 0)
        {
            mdata.AddField("m13", m.m13);
        }
        if (m.m20 != 0)
        {
            mdata.AddField("m20", m.m20);
        }
        if (m.m21 != 0)
        {
            mdata.AddField("m21", m.m21);
        }
        if (m.m22 != 0)
        {
            mdata.AddField("m22", m.m22);
        }
        if (m.m23 != 0)
        {
            mdata.AddField("m23", m.m23);
        }
        if (m.m30 != 0)
        {
            mdata.AddField("m30", m.m30);
        }
        if (m.m31 != 0)
        {
            mdata.AddField("m31", m.m31);
        }
        if (m.m32 != 0)
        {
            mdata.AddField("m32", m.m32);
        }
        if (m.m33 != 0)
        {
            mdata.AddField("m33", m.m33);
        }
        return(mdata);
    }