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