public static AssetDetailConfig CreateAssetDetailConfig(PackerData packerData) { List <AssetDetail> details = new List <AssetDetail>(); foreach (var group in packerData.groupDatas) { foreach (var bundle in group.bundleDatas) { foreach (var asset in bundle.assetDatas) { if (asset.IsMainAsset) { AssetDetail detail = new AssetDetail() { Address = asset.Address, Path = asset.Path, Bundle = bundle.Path, IsScene = asset.IsScene, Labels = asset.Labels, }; details.Add(detail); } } } } AssetDetailConfig detailConfig = new AssetDetailConfig(); detailConfig.Details = details.ToArray(); return(detailConfig); }
public static void BuildAssetDetailConfig() { PackerData packerData = AssetPackerUtil.GetPackerData(); AssetDetailConfig detailConfig = AssetPackerUtil.CreateAssetDetailConfig(packerData); string assetFilePath = AssetConst.GetAssetDetailConfigPathInEditor(); string diskFilePath = PathUtility.GetDiskPath(assetFilePath); JSONWriter.WriteToFile <AssetDetailConfig>(detailConfig, diskFilePath); AssetDatabase.ImportAsset(assetFilePath); }