コード例 #1
0
        /// <summary>
        /// インポート完了後処理
        /// </summary>
        private void OnPostprocessImpl(AssetImporter assetImporter, string assetPath)
        {
            var settings = SettingsIO.NestedLoad(assetPath);

            if (settings == null)
            {
                return;
            }

            for (int i = 0; i < settings.settings.Count; i++)
            {
                var setting = settings.settings [i];

                var importer = GetImporterInstance(setting.Type);

                if (importer == null)
                {
                    Debug.LogError("IAssetImporterExtensionを継承していないImporterが定義されています");
                    continue;
                }

                if (CanExecute(assetImporter, importer))
                {
                    var properties = setting.properties.Where(o => o.isEnabled).ToArray();
                    importer.OnPostprocess(assetPath, properties);
                }
            }
        }
コード例 #2
0
        private void OnDrawHeaderMenu()
        {
            EditorGUILayout.BeginVertical();

            EditorGUILayout.HelpBox(HeaderMessage, MessageType.None, true);

            EditorGUILayout.BeginHorizontal();
            {
                GUI.enabled = SettingsIO.Exist(m_DirectoryPath);
                if (GUILayout.Button("設定を削除"))
                {
                    SettingsIO.Remove(m_DirectoryPath);
                    m_Settings = null;
                    EditorGUIUtility.ExitGUI();
                }
                GUI.enabled = true;

                GUI.enabled = m_Settings != null;
                if (GUILayout.Button("設定を保存"))
                {
                    SettingsIO.Save(m_DirectoryPath, m_Settings);
                }
                GUI.enabled = true;
            }
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.EndVertical();
        }
コード例 #3
0
        /// <summary>
        /// 全アセットインポート完了後処理
        /// </summary>
        private static void OnPostprocessAllAssetsImpl(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
        {
            for (int n = 0; n < importedAssets.Length; n++)
            {
                var assetPath = importedAssets [n];

                var settings = SettingsIO.NestedLoad(assetPath);
                if (settings == null)
                {
                    return;
                }

                for (int i = 0; i < settings.settings.Count; i++)
                {
                    var setting = settings.settings [i];

                    var importer = GetImporterInstance(setting.Type);

                    if (importer == null)
                    {
                        Debug.LogError("IAssetImporterExtensionを継承していないImporterが定義されています");
                        continue;
                    }

                    var properties = setting.properties.Where(o => o.isEnabled).ToArray();
                    importer.OnPostprocess(assetPath, properties);
                }
            }

            for (int n = 0; n < deletedAssets.Length; n++)
            {
                var assetPath = deletedAssets [n];

                var settings = SettingsIO.NestedLoad(assetPath);
                if (settings == null)
                {
                    return;
                }

                for (int i = 0; i < settings.settings.Count; i++)
                {
                    var setting = settings.settings [i];

                    var importer = GetImporterInstance(setting.Type);

                    if (importer == null)
                    {
                        Debug.LogError("IAssetImporterExtensionを継承していないImporterが定義されています");
                        continue;
                    }

                    var properties = setting.properties.Where(o => o.isEnabled).ToArray();
                    importer.OnRemoveprocess(assetPath, properties);
                }
            }
        }
コード例 #4
0
        private Settings LoadParentSettings(string selectPath)
        {
            var directoryPath = "";

            if (Directory.Exists(selectPath))
            {
                directoryPath = selectPath;
            }
            else
            {
                directoryPath = Path.GetDirectoryName(selectPath);
            }

            directoryPath = Path.GetDirectoryName(directoryPath);

            return(SettingsIO.NestedLoad(directoryPath));
        }
コード例 #5
0
 private Settings LoadSettings(string selectPath)
 {
     return(SettingsIO.Load(selectPath));
 }