Пример #1
0
        public bool ApplyAssetBundleName()
        {
            var result = false;

            if (string.IsNullOrEmpty(AssetPath) || !AssetPath.StartsWith(UnityPathUtility.AssetsFolder))
            {
                return(false);
            }

            // 管理外判定.
            if (Ignore.HasValue)
            {
                // 管理対象外の場合変更しない.
                if (Ignore == IgnoreType.IgnoreManage)
                {
                    return(false);
                }

                // 除外対象: フォルダ / ファイル / 拡張子.
                result = assetManageManager.SetAssetBundleName(AssetPath, string.Empty);
            }
            else
            {
                if (AssetInfo != null && AssetInfo.IsAssetBundle)
                {
                    result = assetManageManager.SetAssetBundleName(AssetPath, AssetInfo.AssetBundle.AssetBundleName);
                }
                else
                {
                    result = assetManageManager.SetAssetBundleName(AssetPath, string.Empty);
                }
            }

            return(result);
        }
Пример #2
0
        private static void ApplyAssetBundleName(AssetManageManager assetManageManager, AssetInfoManifest manifest)
        {
            var assetInfos = manifest.GetAssetInfos().ToArray();

            var count = assetInfos.Length;

            AssetDatabase.StartAssetEditing();

            for (var i = 0; i < count; i++)
            {
                var assetInfo = assetInfos[i];

                EditorUtility.DisplayProgressBar("ApplyAssetBundleName", assetInfo.ResourcePath, (float)i / count);

                var assetPath = PathUtility.Combine(assetManageManager.ExternalResourcesPath, assetInfo.ResourcePath);

                if (assetInfo.IsAssetBundle)
                {
                    assetManageManager.SetAssetBundleName(assetPath, assetInfo.AssetBundle.AssetBundleName);
                }
            }

            AssetDatabase.StopAssetEditing();

            EditorUtility.ClearProgressBar();
        }