public static void RefreshLoopDataPresetsDatabase() { EditorUtility.DisplayProgressBar("Refreshing Loop Animations Database", "", 0f); LoopDataPresetsDatabase = new Dictionary <string, List <LoopData> >(); List <string> directories = new List <string>(); directories = RemoveEmptyPresetFolders(RELATIVE_PATH_LOOP_DATA, GetLoopPresetsDirectories); for (int directoryIndex = 0; directoryIndex < directories.Count; directoryIndex++) { EditorUtility.DisplayProgressBar("Refreshing Loop Animations Database", directories[directoryIndex], ((directoryIndex + 1) / (directories.Count + 2))); string[] fileNames = GetLoopPresetsNamesForCategory(directories[directoryIndex]); if (fileNames.Length == 0) { continue; } //empty folder LoopDataPresetsDatabase.Add(directories[directoryIndex], new List <LoopData>()); for (int fileIndex = 0; fileIndex < fileNames.Length; fileIndex++) { LoopData asset = GetResource <LoopData>(RESOURCES_PATH_LOOP_DATA + directories[directoryIndex] + "/", fileNames[fileIndex]); if (asset == null) { continue; } EditorUtility.DisplayProgressBar("Refreshing Loop Animations Database", directories[directoryIndex] + " / " + asset.presetName, ((directoryIndex + 1) / (directories.Count + 2))); LoopDataPresetsDatabase[directories[directoryIndex]].Add(asset); } } EditorUtility.DisplayProgressBar("Refreshing Loop Animations Database", "Creating Categories List...", 0.9f); RefreshLoopPresetCategories(); EditorUtility.DisplayProgressBar("Refreshing Loop Animations Database", "Validating...", 1f); ValidateLoopPresets(); EditorUtility.ClearProgressBar(); }
private static LoopData CreateLoopDataAsset(string relativePath, string presetCategory, string presetName, Loop loop) { LoopData asset = ScriptableObject.CreateInstance<LoopData>(); asset.presetName = presetName; asset.presetCategory = presetCategory; asset.data = loop; if (!QuickEngine.IO.File.Exists(relativePath + presetCategory + "/")) { QuickEngine.IO.File.CreateDirectory(relativePath + presetCategory + "/"); } AssetDatabase.CreateAsset(asset, relativePath + presetCategory + "/" + presetName + ".asset"); EditorUtility.SetDirty(asset); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); return asset; }