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"); }
private void ReportTexture(StringBuilder sb, TextureImporter importer) { int w, h; var type = importer.textureType; int maxSize = importer.maxTextureSize; #if UNITY_5_5_OR_NEWER var defaultTextureSetting = importer.GetDefaultPlatformTextureSettings(); var format = defaultTextureSetting.format; if (!importer.GetPlatformTextureSettings(this.platform, out maxSize, out format)) { maxSize = importer.maxTextureSize; format = defaultTextureSetting.format; } #else var format = importer.textureFormat; if (!importer.GetPlatformTextureSettings(this.platform, out maxSize, out format)) { maxSize = importer.maxTextureSize; format = importer.textureFormat; } #endif var tex = GetTextureSize(importer, out w, out h) as Texture2D; sb.Append("{"); if (tex != null) { if (!AssetsReporterUtils.IsVisibleInWebBrowserImage(importer.assetPath)) { string preview = AssetsReporterUtils.GetWebVisibleTexturePreview(importer, tex, true); AssetsReporterUtils.AddJsonObject(sb, "preview", preview).Append(","); } } AssetsReporterUtils.AddJsonObject(sb, "path", importer.assetPath.ToString()).Append(","); AssetsReporterUtils.AddJsonObject(sb, "textureType", type.ToString()).Append(","); AssetsReporterUtils.AddJsonObject(sb, "isReadable", importer.isReadable).Append(","); AssetsReporterUtils.AddJsonObject(sb, "wrapMode", importer.wrapMode.ToString()).Append(","); AssetsReporterUtils.AddJsonObject(sb, "mipmapEnabled", importer.mipmapEnabled).Append(","); AssetsReporterUtils.AddJsonObject(sb, "width", w).Append(","); AssetsReporterUtils.AddJsonObject(sb, "height", h).Append(","); AssetsReporterUtils.AddJsonObject(sb, "maxSize", maxSize).Append(","); AssetsReporterUtils.AddJsonObject(sb, "textureFormat", format.ToString()).Append(","); if (string.IsNullOrEmpty(importer.spritePackingTag)) { AssetsReporterUtils.AddJsonObject(sb, "isPow2", IsPow2Size(w, h)).Append(","); } else { AssetsReporterUtils.AddJsonObject(sb, "isPow2", true).Append(","); } AssetsReporterUtils.AddJsonObject(sb, "spritePackingTag", importer.spritePackingTag); sb.Append("}"); if (tex != null) { Resources.UnloadAsset(tex); tex = null; } AssetsReporterUtils.AddCountDictionary(this.spriteTagSet, importer.spritePackingTag); AssetsReporterUtils.AddCountDictionary(this.textureFormatSet, format); AssetsReporterUtils.AddCountDictionary(this.textureTypeSet, type); }