예제 #1
0
    private static void CreateAssetBundlesConfigDataBase(List <BundleLevelData> list)
    {
        string fileName = typeof(BundleLevelDataBase).Name;
        string path     = System.IO.Path.Combine(BUNDLE_LEVEL_CONFIG_DATA_FOLDER, fileName + ".asset");

        if (File.Exists(path))
        {
            BundleLevelDataBase database = (BundleLevelDataBase)AssetDatabase.LoadAssetAtPath(path, typeof(BundleLevelDataBase));

            if (null == database)
            {
                return;
            }
            database._bundleDataList = new BundleLevelData[list.Count];

            list.CopyTo(database._bundleDataList);

            EditorUtility.SetDirty(database);
        }
        else
        {
            BundleLevelDataBase database = ScriptableObject.CreateInstance <BundleLevelDataBase>();

            database._bundleDataList = new BundleLevelData[list.Count];

            list.CopyTo(database._bundleDataList);

            AssetDatabase.CreateAsset(database, path);
        }
    }
예제 #2
0
    private void SetupBundles()
    {
        _bundlesConfig          = AssetDatabase.LoadMainAssetAtPath(_params.AssetBundleConfigPath) as AssetBundlesConfig;
        _bundleLevelDataBase    = AssetDatabase.LoadMainAssetAtPath(_params.BundleLevelDataBasePath) as BundleLevelDataBase;
        _bundlesDatabaseBuilder = new AssetBundlesDatabaseBuilder(AssetBundlesDatabaseTempPath);

        if ((_params.Options & BuildOptions.AcceptExternalModificationsToPlayer) == 0)
        {
            FileUtil.DeleteFileOrDirectory(_params.BundlesLocation);
        }
    }