コード例 #1
0
        /// <summary>
        /// 返回Key为资源Path,Value为该资源所在的BundlePath字典
        /// </summary>
        /// <param name="splitPathListListDict"></param>
        private static Dictionary <string, string> BuildAssets(Dictionary <string, List <List <string> > > splitPathListListDict)
        {
            Dictionary <string, string> result = new Dictionary <string, string>();

            foreach (string entryPath in splitPathListListDict.Keys)
            {
                List <List <string> > assetPathListList = splitPathListListDict[entryPath];
                List <StrategyNode>   nodeList          = AssetBuildStrategyManager.GetAssetBuildStrategy(entryPath).nodeList;
                HashSet <string>      bundlePathSet     = new HashSet <string>();
                for (int i = 0; i < assetPathListList.Count; i++)
                {
                    Dictionary <string, string> bundlePathDict = AssetBundleBuilder.Add(entryPath, assetPathListList[i], nodeList[i]);
                    foreach (string k in bundlePathDict.Keys)
                    {
                        string path = ReplaceTemparyPath(k);
                        if (result.ContainsKey(path) == false)
                        {
                            result.Add(path, bundlePathDict[k]);
                        }
                        bundlePathSet.Add(bundlePathDict[k]);
                    }
                }
                AssetRecordHelper.RecordAssetDependency(entryPath, bundlePathSet.ToList <string>());
            }
            AssetBundleBuilder.Build();
            return(result);
        }
コード例 #2
0
 private static void Build(BuildTarget target)
 {
     m_Builder = new AssetBundleBuilder();
     m_Builder.Init(startPath, target);
     BuildConfigure();
     m_Builder.Build();
     m_Builder = null;
 }
コード例 #3
0
    /// <summary>
    /// Builds for ios.
    /// </summary>
    public static void BuildForIOS()
    {
        var args = GetArgs();

        EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTargetGroup.iOS, BuildTarget.iOS);
        AssetBundleBuilder.Build();
        BuildPipeline.BuildPlayer(GetBuildScenes(), args["out"], BuildTarget.iOS, BuildOptions.None);
    }
コード例 #4
0
    /// <summary>
    /// Builds for android.
    /// </summary>
    public static void BuildForAndroid()
    {
        var args = GetArgs();

        PlayerSettings.productName   = args["name"];
        PlayerSettings.bundleVersion = args["version"];
        EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTargetGroup.Android, BuildTarget.Android);
        AssetBundleBuilder.Build();
        BuildPipeline.BuildPlayer(GetBuildScenes(), args["out"], BuildTarget.Android, BuildOptions.None);
    }
コード例 #5
0
        public static void BuildAssetBundlesForCurrentPlatform()
        {
            var targetPlatform = AssetBundleEditorUtility.GetCurrentBuildTarget();

            if (targetPlatform != BuildTarget.NoTarget)
            {
                var options = AssetBundleEditorUtility.GetBuildOptions();
                AssetBundleBuilder.Build(targetPlatform, options);
            }
            else
            {
                Debug.LogError("Current platform has not supported.");
            }
        }
コード例 #6
0
 static void OnBuildAssetBundle()
 {
     AssetBundleBuilder.Build();
 }
コード例 #7
0
        public static void BuildAssetBundlesForWebGL()
        {
            var options = AssetBundleEditorUtility.GetBuildOptions();

            AssetBundleBuilder.Build(BuildTarget.WebGL, options);
        }
コード例 #8
0
        public static void BuildAssetBundlesForWindows()
        {
            var options = AssetBundleEditorUtility.GetBuildOptions();

            AssetBundleBuilder.Build(BuildTarget.StandaloneWindows64, options);
        }