static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
        {
            EditorTools.getInstance().DynamicInvokeAtt(AssetImportDefine.PostImportAsset, importedAssets as object);
            EditorTools.getInstance().DynamicInvokeAtt(AssetImportDefine.PostDelAsset, deletedAssets as object);
            EditorTools.getInstance().DynamicInvokeAtt(AssetImportDefine.PostMoveAsset, movedAssets as object);
            EditorTools.getInstance().DynamicInvokeAtt(AssetImportDefine.PostMoveFromAsset, movedFromAssetPaths as object);

            EditorTools.getInstance().DynamicInvokeAtt(AssetImportDefine.PostAllAssets, importedAssets, deletedAssets, movedAssets, movedFromAssetPaths);
        }
        static void _Register_PostAssignModelsAttribute(object att, object target)
        {
            MethodInfo method = target as MethodInfo;
            PostAssignModelsAttribute attribute = att as PostAssignModelsAttribute;

            if (method.LogStaticMethod() && attribute.LogInfo(method))
            {
                attribute.SetDelegate(method);
                EditorTools.getInstance().PushImportAtt(AssetImportDefine.AssignModel, attribute);
            }
        }
        static void _Register_PrepareAnimationAttribute(object att, object target)
        {
            MethodInfo method = target as MethodInfo;
            PrepareAnimationAttribute attribute = att as PrepareAnimationAttribute;

            if (method.LogStaticMethod() && attribute.LogInfo(method))
            {
                attribute.SetDelegate(method);
                EditorTools.getInstance().PushImportAtt(AssetImportDefine.PrepareAnimation, attribute);
            }
        }
        static void _Register_PostABNameChangeFromAssets(object att, object target)
        {
            MethodInfo method = target as MethodInfo;
            PostABNameChangeAttribute attribute = att as PostABNameChangeAttribute;

            if (method.LogStaticMethod() && attribute.LogInfo(method))
            {
                attribute.SetDelegate(method);
                EditorTools.getInstance().PushImportAtt(AssetImportDefine.PostAbNameChange, attribute);
            }
        }
 void OnPreprocessModel()
 {
     EditorTools.getInstance().DynamicInvokeAtt(AssetImportDefine.PrepareModel, this.assetImporter, this.assetPath);
 }
 void OnPostprocessSprites(Texture2D tex, Sprite[] sprs)
 {
     EditorTools.getInstance().DynamicInvokeAtt(AssetImportDefine.PostSprites, tex, sprs);
 }
 void OnPostprocessGameObjectWithUserProperties(GameObject go, string[] propNames, System.Object[] values)
 {
     EditorTools.getInstance().DynamicInvokeAtt(AssetImportDefine.PostGameObjectProperty, go, propNames, values);
 }
 void OnPostprocessTexture(Texture2D texture)
 {
     EditorTools.getInstance().DynamicInvokeAtt(AssetImportDefine.PostTexture, texture);
 }
 void OnPostprocessSpeedTree(GameObject gameobject)
 {
     EditorTools.getInstance().DynamicInvokeAtt(AssetImportDefine.PostSpeedTree, gameobject);
 }
 void OnPostprocessAudio(AudioClip clip)
 {
     EditorTools.getInstance().DynamicInvokeAtt(AssetImportDefine.PostAudio, clip);
 }
 void OnPostprocessAssetbundleNameChanged(string assetPath, string previousAssetBundleName, string newAssetBundleName)
 {
     EditorTools.getInstance().DynamicInvokeAtt(AssetImportDefine.PostAbNameChange, assetPath, previousAssetBundleName, newAssetBundleName);
 }
 void OnPostprocessModel(GameObject gameobject)
 {
     EditorTools.getInstance().DynamicInvokeAtt(AssetImportDefine.PostModel, gameobject);
 }
 void OnAssignMaterialModel(Material material, Renderer render)
 {
     EditorTools.getInstance().DynamicInvokeAtt(AssetImportDefine.AssignModel, material, render);
 }
 void OnPreprocessAnimation()
 {
     EditorTools.getInstance().DynamicInvokeAtt(AssetImportDefine.PrepareAnimation, this.assetImporter, this.assetPath);
 }
 void OnPreprocessSpeedTree()
 {
     EditorTools.getInstance().DynamicInvokeAtt(AssetImportDefine.PrepareTree, this.assetImporter, this.assetPath);
 }