少年修仙传客户端基础资源
client_Wu Xijin
2018-11-08 306da78423a06fc3d89ccd790fdb4c0ac98f5ad0
3335 添加asstbundle测试打包的方法
2个文件已修改
54 ■■■■■ 已修改文件
.gitignore 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Editor/Tool/AssetBundleBuildExtersion.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore
@@ -35,7 +35,10 @@
*.csproj
*.sln
AssetBundles/*
Assets/StreamingAssets.meta
Assets/StreamingAssets/*
RunTimeLog/*
IOS_BUILD/
.vscode
Assets/BundleTest.meta
Assets/BundleTest/*
Assets/Editor/Tool/AssetBundleBuildExtersion.cs
@@ -75,4 +75,55 @@
        }
    }
    [MenuItem("Assets/BuildAssetBundle ( Test )")]
    public static void BuildTest()
    {
        if (Selection.activeObject != null)
        {
            var path = AssetDatabase.GetAssetPath(Selection.activeObject);
            var importer = AssetImporter.GetAtPath(path);
            if (importer != null)
            {
                var ab = importer.assetBundleName;
                if (!string.IsNullOrEmpty(ab))
                {
                    var assetBundles = AssetDatabase.GetAllAssetBundleNames();
                    List<string> targetAssetBundles = new List<string>();
                    for (int i = 0; i < assetBundles.Length; i++)
                    {
                        var bundleName = assetBundles[i];
                        if (bundleName == ab)
                        {
                            targetAssetBundles.Add(bundleName);
                        }
                    }
                    var assets = new List<AssetBundleBuild>();
                    for (int i = 0; i < targetAssetBundles.Count; i++)
                    {
                        var assetBundleBuild = new AssetBundleBuild();
                        assetBundleBuild.assetBundleName = targetAssetBundles[i];
                        assetBundleBuild.assetNames = AssetDatabase.GetAssetPathsFromAssetBundle(targetAssetBundles[i]);
                        assets.Add(assetBundleBuild);
                    }
                    var opt = BuildAssetBundleOptions.None
                        | BuildAssetBundleOptions.ChunkBasedCompression
                        | BuildAssetBundleOptions.DeterministicAssetBundle;
                    var dirctory = Application.dataPath + "/BundleTest";
                    if (!Directory.Exists(dirctory))
                    {
                        Directory.CreateDirectory(dirctory);
                    }
                    BuildPipeline.BuildAssetBundles(dirctory, assets.ToArray(), opt, BuildTarget.Android);
                }
            }
        }
    }
}