Exemple #1
0
        public void OnPreprocessAudio()
        {
            if (AssetImporterSettingData.Setting.Toggle == false)
            {
                return;
            }

            string          importAssetPath = this.assetPath;
            IAssetProcessor processor       = AssetImporterSettingData.GetCustomProcessor(importAssetPath);

            if (processor != null)
            {
                processor.OnPreprocessAudio(importAssetPath, this.assetImporter);
            }
        }
Exemple #2
0
        private void OnGUI()
        {
            // 初始化
            if (_isInit == false)
            {
                _isInit = true;
                Init();
            }

            // 列表显示
            EditorGUILayout.Space();
            for (int i = 0; i < AssetImporterSettingData.Setting.Elements.Count; i++)
            {
                string directory     = AssetImporterSettingData.Setting.Elements[i].ProcessDirectory;
                string processorName = AssetImporterSettingData.Setting.Elements[i].ProcessorName;

                EditorGUILayout.BeginHorizontal();
                {
                    EditorGUILayout.LabelField(directory);

                    int index    = NameToIndex(processorName);
                    int newIndex = EditorGUILayout.Popup(index, _processorClassArray, GUILayout.MaxWidth(150));
                    if (newIndex != index)
                    {
                        string newProcessName = IndexToName(newIndex);
                        AssetImporterSettingData.ModifyElement(directory, newProcessName);
                    }

                    if (GUILayout.Button("-", GUILayout.MaxWidth(40)))
                    {
                        AssetImporterSettingData.RemoveElement(directory);
                        break;
                    }
                }
                EditorGUILayout.EndHorizontal();
            }

            // 添加按钮
            if (GUILayout.Button("+"))
            {
                string resultPath = EditorTools.OpenFolderPanel("+", _lastOpenFolderPath);
                if (resultPath != null)
                {
                    _lastOpenFolderPath = EditorTools.AbsolutePathToAssetPath(resultPath);
                    AssetImporterSettingData.AddElement(_lastOpenFolderPath);
                }
            }
        }
Exemple #3
0
        private void Init()
        {
            List <string> names = AssetImporterSettingData.GetProcessorNames();

            _processorClassArray = names.ToArray();
        }