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); }