static void SetupAssetdatabaseUsage() { s_EditorBuildSettings = AssetbundleBuildSettings.EditorInstance; if (s_EditorBuildSettings == null || !s_EditorBuildSettings.IsValid()) { throw new System.Exception("AssetbundleBuildSetting is not valid"); } if (s_EditorBuildSettings.CleanCacheInEditor) { Caching.ClearCache(); } UseAssetDatabase = !s_EditorBuildSettings.EmulateInEditor; if (UseAssetDatabase) { var assetPath = new List <string>(); var loadPath = new List <string>(); foreach (var setting in s_EditorBuildSettings.BundleSettings) { assetPath.Clear(); loadPath.Clear(); var folderPath = UnityEditor.AssetDatabase.GUIDToAssetPath(setting.Folder.guid); var dir = new DirectoryInfo(Path.Combine(Application.dataPath, folderPath.Remove(0, 7))); AssetbundleBuildSettings.GetFilesInDirectory(string.Empty, assetPath, loadPath, dir, setting.IncludeSubfolder); var assetList = new Dictionary <string, List <string> >(); for (int i = 0; i < assetPath.Count; i++) { if (assetList.TryGetValue(loadPath[i], out var list)) { list.Add(assetPath[i]); continue; } assetList.Add(loadPath[i], new List <string>() { assetPath[i] }); } s_AssetListForEditor.Add(setting.BundleName, assetList); } } }
public static void SetupApiTestSettings(AssetbundleBuildSettings settings = null) { if (Application.isPlaying) { throw new System.Exception("This funcion cannot be called while playing!"); } if (settings == null) { settings = AssetbundleBuildSettings.EditorInstance; } if (settings == null || !settings.IsValid()) { throw new System.Exception("AssetbundleBuildSetting is not valid"); } UseAssetDatabase = true; //create editor asset map only for testing s_EditorAssetMap = new EditorAssetMap(settings); }
static void SetupAssetdatabaseUsage() { s_EditorBuildSettings = AssetbundleBuildSettings.EditorInstance; if (s_EditorBuildSettings == null || !s_EditorBuildSettings.IsValid()) { throw new System.Exception("AssetbundleBuildSetting is not valid"); } if (s_EditorBuildSettings.CleanCacheInEditor) { Caching.ClearCache(); } UseAssetDatabase = !s_EditorBuildSettings.EmulateInEditor; //create editor asset map if (UseAssetDatabase) { s_EditorAssetMap = new EditorAssetMap(s_EditorBuildSettings); //set initialied so it does not need explit call initialzed when using aassetdatabase Initialized = true; } }