예제 #1
0
    public void SerializeComponentData(JsonHelperWriter json, GameObject go, bool property = true)
    {
        Component[] components = go.GetComponents <Component>();

        Transform transform = go.transform;
        int       children  = transform.childCount;

        if (property)
        {
            json.WritePropertyName("componentData");
        }
        json.WriteStartArray();

        json.WriteValue(components.Length);
        for (int i = 0; i < components.Length; i++)
        {
            json.Write(components[i]);
        }

        json.WriteStartArray();
        for (int i = 0; i < children; i++)
        {
            GameObject child = transform.GetChild(i).gameObject;
            SerializeComponentData(json, child, false);
        }
        json.WriteEndArray();

        json.WriteEndArray();
    }
예제 #2
0
    public void SerializeComponentTypes(JsonHelperWriter json, GameObject go)
    {
        Component[] components = go.GetComponents <Component>();

        json.WritePropertyName("componentTypes");
        json.WriteStartArray();
        for (int i = 0; i < components.Length; i++)
        {
            json.Write(components[i].GetType());
        }
        json.WriteEndArray();
    }
예제 #3
0
    public void SerializeHierarchy(JsonHelperWriter json, GameObject go)
    {
        Transform transform = go.transform;
        int       children  = transform.childCount;

        json.WritePropertyName("hierarchy");
        json.WriteStartArray();
        for (int i = 0; i < children; i++)
        {
            GameObject child = transform.GetChild(i).gameObject;
            json.WriteStartObject();
            SerializeMain(json, child);
            SerializeComponentTypes(json, child);
            SerializeHierarchy(json, child);
            json.WriteEndObject();
        }
        json.WriteEndArray();
    }
예제 #4
0
 public static void WriteProperty(this JsonHelperWriter json, string name, object obj)
 {
     json.WritePropertyName(name);
     json.Write(obj);
 }
예제 #5
0
 public virtual void WriteMetaHeader(JsonHelperWriter json, object obj)
 {
     json.WritePropertyName(JSONHelper.META.PROP);
     json.WriteMetaObjectType(obj);
 }
예제 #6
0
 public virtual void Serialize(JsonHelperWriter json, object obj, MemberInfo info)
 {
     json.WritePropertyName(info.Name);
     json.Write(ReflectionHelper.GetValue(info, obj));
 }