private void CreateAssetData(StringBuilder sb, string abname, string[] paths) { bool isFirst = true; sb.Append("{"); AssetsReporterUtils.AddJsonObject(sb, "abname", abname).Append(","); this.ClearDependsAssetBundle(); sb.Append("files:["); foreach (var path in paths) { if (isFirst) { isFirst = false; } else { sb.Append(","); } sb.Append("{"); AssetsReporterUtils.AddJsonObject(sb, "path", path).Append(","); var depends = AssetDatabase.GetDependencies(new string[] { path }); System.Array.Sort(depends); this.AddDependsAssetBundle(depends); AssetsReporterUtils.AddJsonObjectArrayWithout(sb, "depends", depends, path); System.Array.Sort <string>(depends); UnityEngine.Object obj = AssetDatabase.LoadAssetAtPath <UnityEngine.Object>(path); if (obj != null) { sb.Append(","); AssetsReporterUtils.AddJsonObject(sb, "type", obj.GetType().Name); if (obj.GetType() != typeof(GameObject)) { Resources.UnloadAsset(obj); } // thumnail { if (obj.GetType() == typeof(Texture2D) && !AssetsReporterUtils.IsVisibleInWebBrowserImage(path)) { sb.Append(","); string preview = AssetsReporterUtils.GetWebVisibleTexturePreview(TextureImporter.GetAtPath(path) as TextureImporter, obj as Texture2D, this.createThumnailPreview); AssetsReporterUtils.AddJsonObject(sb, "preview", preview); } else if (obj.GetType() == typeof(GameObject)) { sb.Append(","); var assetImporter = AssetImporter.GetAtPath(path); string preview = AssetsReporterUtils.GetAssetPreview(assetImporter, obj, this.createThumnailPreview || ((assetImporter as ModelImporter) == null)); AssetsReporterUtils.AddJsonObject(sb, "preview", preview); } } obj = null; } sb.Append("}"); } sb.Append("],\n"); this.RemoveDependsAssetBundle(paths); this.ReportDependsAssetBundle(sb); sb.Append("}\n"); }