示例#1
0
        private void CreateConfigurator(Model.NodeData node, Type importerType)
        {
            var configFileGUID = ImporterConfiguratorUtility.FindSettingTemplateFileGUID(importerType);
            var configFilePath = AssetDatabase.GUIDToAssetPath(configFileGUID);

            if (string.IsNullOrEmpty(configFilePath))
            {
                throw new NodeException(node.Name + " :Setting template file not found. Incoming file type must be properly configured with CustomImporterConfigurator.", node);
            }

            var samplingDirectoryPath = FileUtility.PathCombine(Model.Settings.Path.SavedSettingsPath, "ImportSettings", node.Id);

            if (!Directory.Exists(samplingDirectoryPath))
            {
                Directory.CreateDirectory(samplingDirectoryPath);
            }

            IAssetImporterConfigurator configurator = ImporterConfiguratorUtility.CreateConfigurator(importerType);

            if (configurator == null)
            {
                throw new NodeException(node.Name + " :Failed to create importer configurator for " + importerType.FullName, node);
            }
            m_configuratorInstance.SetDefaultValue(configurator);

            var targetFilePath = FileUtility.PathCombine(samplingDirectoryPath, Path.GetFileName(configFilePath));

            FileUtility.CopyFile(configFilePath, targetFilePath);

            AssetDatabase.Refresh(ImportAssetOptions.ImportRecursive);

            m_referenceAssetGuid   = AssetDatabase.AssetPathToGUID(targetFilePath);
            m_configureImporterFor = null;
        }