void LoadPresets() { soundPresets = new List <Preset>(); soundPresetNames = new List <string>(); musicPresets = new List <Preset>(); musicPresetNames = new List <string>(); var presets = JSAMEditorHelper.ImportAssetsOrFoldersAtPath <Preset>(JSAMSettings.Settings.PresetsPath); for (int i = 0; i < presets.Count; i++) { var testMusic = CreateInstance <AudioFileMusicObject>(); var testSound = CreateInstance <AudioFileSoundObject>(); if (presets[i].CanBeAppliedTo(testMusic)) { musicPresets.Add(presets[i]); musicPresetNames.Add(presets[i].name); } else if (presets[i].CanBeAppliedTo(testSound)) { soundPresets.Add(presets[i]); soundPresetNames.Add(presets[i].name); } presetToProp[presets[i]] = presets[i].FindProp("presetDescription"); } }
void HandleDragAndDrop() { Rect dragRect = Window.position; dragRect.x = 0; dragRect.y = 0; if (dragRect.Contains(Event.current.mousePosition)) { if (Event.current.type == EventType.DragUpdated) { DragAndDrop.visualMode = DragAndDropVisualMode.Copy; Event.current.Use(); } else if (Event.current.type == EventType.DragPerform) { List <AudioClip> duplicates = new List <AudioClip>(); for (int i = 0; i < DragAndDrop.objectReferences.Length; i++) { string filePath = AssetDatabase.GetAssetPath(DragAndDrop.objectReferences[i]); var clips = JSAMEditorHelper.ImportAssetsOrFoldersAtPath <AudioClip>(filePath); for (int j = 0; j < clips.Count; j++) { if (asset.files.Contains(clips[j])) { duplicates.Add(clips[j]); continue; } files.AddNewArrayElement().objectReferenceValue = clips[j]; } } Event.current.Use(); if (duplicates.Count > 0) { string multiLine = string.Empty; for (int i = 0; i < duplicates.Count; i++) { multiLine = duplicates[i].name + "\n"; } EditorUtility.DisplayDialog("Duplicate Audio Clips!", "The following Audio File Objects are already present in the wizard and have been skipped.\n" + multiLine, "OK"); } if (serializedObject.hasModifiedProperties) { serializedObject.ApplyModifiedProperties(); Window.Repaint(); } } } }
void LoadLibraries() { var libraries = JSAMEditorHelper.ImportAssetsOrFoldersAtPath <AudioLibrary>(JSAMSettings.Settings.LibraryPath); AudioLibraryEditor.projectLibraries = new List <AudioLibrary>(); AudioLibraryEditor.projectLibrariesNames = new List <string>(); for (int i = 0; i < libraries.Count; i++) { AudioLibraryEditor.projectLibraries.Add(libraries[i]); AudioLibraryEditor.projectLibrariesNames.Add(libraries[i].name); } libraryIndex = AudioLibraryEditor.projectLibraries.IndexOf(library.objectReferenceValue as AudioLibrary); }