コード例 #1
0
        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");
            }
        }
コード例 #2
0
        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();
                    }
                }
            }
        }
コード例 #3
0
        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);
        }