private void UpdateAssetInfo(string[] assetPaths) { var refresh = false; AssetDatabase.StartAssetEditing(); for (var i = 0; i < assetPaths.Length; i++) { var assetPath = assetPaths[i]; EditorUtility.DisplayProgressBar("Update asset info", assetPath, (float)i / assetPaths.Length); // アセット情報収集. var infos = assetManageManager.CollectInfo(assetPath); foreach (var info in infos) { // アセットバンドル名適用. refresh |= info.ApplyAssetBundleName(); } } EditorUtility.ClearProgressBar(); AssetDatabase.StopAssetEditing(); if (refresh) { AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); } }
//----- property ----- //----- method ----- public void Initialize(AssetManageModel assetManageModel, AssetManageManager assetManageManager) { if (initialized) { return; } this.assetManageModel = assetManageModel; this.assetManageManager = assetManageManager; assetManageModel.OnDragAndDropAsObservable().Subscribe(x => OnDragAndDrop(x)).AddTo(Disposable); assetManageManager.CollectInfo(); selectionGroupInfo = null; BuildManageInfoViews(); initialized = true; }
private static AssetInfoManifest GenerateManifest(AssetManageManager assetManageManager) { // アセット情報を収集. assetManageManager.CollectInfo(); var allAssetInfos = assetManageManager.GetAllAssetInfos().ToArray(); // アセット情報を更新. var manifestPath = GetManifestPath(assetManageManager.ExternalResourcesPath); var manifest = ScriptableObjectGenerator.Generate <AssetInfoManifest>(manifestPath); Reflection.SetPrivateField(manifest, "assetInfos", allAssetInfos); UnityEditorUtility.SaveAsset(manifest); // アセットバンドル名設定. var importer = AssetImporter.GetAtPath(AssetDatabase.GetAssetPath(manifest)); importer.assetBundleName = AssetInfoManifest.AssetBundleName; importer.SaveAndReimport(); return(manifest); }