コード例 #1
0
        public static void CreateBundles()
        {
            PreProcessSpecialBundle();

            List <string> list = m_dataControl.GetPublishPackagePath();

            for (int i = 0; i < list.Count; ++i)
            {
                string name = Path.GetFileName(list[i]);
                if (EditorUtility.DisplayCancelableProgressBar("Create Bundle", name, (i * 1.0f) / list.Count))
                {
                    Debug.LogWarning("[BundleAdapter] CreateBundles Stop.");
                    break;
                }
                string[] dep = AssetDepot.GetDependenciesCache(list[i]);
                for (int j = 0; j < dep.Length; ++j)
                {
                    if (string.IsNullOrEmpty(dep[j]))
                    {
                        continue;
                    }
                    ProcessSpecialResource(dep[j]);
                    BundleImportData data = m_dataControl.GetPathImportData(dep[j]);
                    if (data != null && !data.SkipData)
                    {
                        _AddPathToBundleByImportData(data, dep[j]);
                    }
                }
            }
            EditorUtility.ClearProgressBar();

            BundleDataAccessor.SaveData();
            AssetDatabase.SaveAssets();
        }
コード例 #2
0
 public static void RemoveAllBundle()
 {
     BundleDataAccessor.Datas.Clear();
     BundleDataAccessor.States.Clear();
     Clear();
     BundleDataAccessor.SaveData();
 }
コード例 #3
0
        public static void BuildBundles()
        {
            BundleBuildHelper.PushAssetDependencies();

            BuildSingleBundle(BundleName.BN_SCRIPT, null);

            BundleData shader = BundleDataManager.GetBundleData(BundleName.BN_SHADER);

            for (int i = 0; shader != null && i < shader.children.Count; ++i)
            {
                BundleData  shaderChild = BundleDataManager.GetBundleData(shader.children[i]);
                BundleState childState  = BundleDataManager.GetBundleState(shader.children[i]);
                bool        result      = BundleBuildHelper.BuildShaderBundle(shaderChild, childState);
                if (!result)
                {
                    Debug.LogErrorFormat("[BundleAdapter] BuildShaderBundle {0} Failed.", shader.children[i]);
                }
            }

            List <BundleImportData> dataList = m_dataControl.DataList;

            for (int i = 0; i < dataList.Count; ++i)
            {
                BundleImportData data       = dataList[i];
                string           parentName = BundleDataManager.GetIndexBundleName(i);
                BuildSingleBundle(parentName, data);
            }

            BundleBuildHelper.PopAssetDependencies();

            BundleDataAccessor.SaveData();
            BundleExport.ExportBundleMainfestToOutput();

            AssetDatabase.SaveAssets();
        }