コード例 #1
0
    public MyJson.IJsonNode Parser(Component com, NeedList list)
    {
        MeshRenderer t    = com as MeshRenderer;
        var          json = new MyJson.JsonNode_Object();

        json["castShadows"]    = new MyJson.JsonNode_ValueNumber(t.castShadows);
        json["receiveShadows"] = new MyJson.JsonNode_ValueNumber(t.receiveShadows);
        json["useLightProbes"] = new MyJson.JsonNode_ValueNumber(t.useLightProbes);
        int meshcount = t.sharedMaterials.Length;

        json["materials"] = new MyJson.JsonNode_Array();
        foreach (var m in t.sharedMaterials)
        {
            MyJson.JsonNode_Object matobj = new MyJson.JsonNode_Object();
            json["materials"].AddArrayValue(matobj);

            matobj.SetDictValue("name", m.name);
            matobj.SetDictValue("shader", m.shader.name);
            matobj.SetDictValue("shaderkeyword", new MyJson.JsonNode_Array());
            foreach (var shaderkey in m.shaderKeywords)
            {
                matobj["shaderkeyword"].AddArrayValue(shaderkey);
            }
            if (m.mainTexture != null)
            {
                string name = AssetMgr.SaveTexture(m.mainTexture, System.IO.Path.Combine(Application.streamingAssetsPath, "texture"));
                matobj.SetDictValue("maintex", name);
                list.AddDependTexture(name);
            }
        }
        return(json);
    }