private string GetHierarchyAssetsListJson() { var assets = EditorUtility.CollectDependencies(GameObject.FindObjectsOfType(typeof(GameObject))); Dictionary <string, APHierarchyAsset> realAssets = new Dictionary <string, APHierarchyAsset>(); foreach (var item in assets) { var assetPath = AssetDatabase.GetAssetPath(item); if (string.IsNullOrEmpty(assetPath) || assetPath.Contains("unity_builtin_extra") || assetPath.Contains("unity default resources") || assetPath.Contains("unity editor resources")) { continue; } var guid = AssetDatabase.AssetPathToGUID(assetPath); if (realAssets.ContainsKey(guid)) { Utility.UpdateJsonInAsset(realAssets[guid]); } else { APHierarchyAsset aphAsset = new APHierarchyAsset(); if (Utility.IsModelPath(assetPath) && (item is AnimationClip)) { aphAsset.Id = Utility.GetAssetId(guid, Utility.GetLocalIndentifierOfObject(item).ToString()); aphAsset.Name = item.name; } else { aphAsset.Id = guid; aphAsset.Name = Utility.GetFileName(assetPath); } aphAsset.FileType = Utility.GetFileExtension(assetPath); aphAsset.Icon = APResources.GetIconID(assetPath, item is AnimationClip); Utility.UpdateJsonInAsset(aphAsset); realAssets.Add(guid, aphAsset); } } return(APCache.GetJsonFromList(realAssets.Values.ToArray())); }
private string EncodeJsonFromList(List <APAsset> assets) { string json = APCache.GetJsonFromList(assets); return(CLZF2_Base64(json)); }