diff --git a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/SpineEditorUtilities.cs b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/SpineEditorUtilities.cs index 1165e836e..f17fd139d 100644 --- a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/SpineEditorUtilities.cs +++ b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/SpineEditorUtilities.cs @@ -1884,6 +1884,34 @@ namespace Spine.Unity.Editor { #endif SpineBuildEnvUtility.AddDependencyToAsmdefFile(TIMELINE_ASMDEF_DEPENDENCY_STRING); SpineBuildEnvUtility.EnableBuildDefine(SPINE_TIMELINE_PACKAGE_DOWNLOADED_DEFINE); + + ReimportTimelineScripts(); + } + + internal static void ReimportTimelineScripts () { + // Note: unfortunately AssetDatabase::Refresh is not enough and + // ImportAsset on a dir does not have the desired effect. + List searchStrings = new List(); + searchStrings.Add("SpineAnimationStateBehaviour t:script"); + searchStrings.Add("SpineAnimationStateClip t:script"); + searchStrings.Add("SpineAnimationStateMixerBehaviour t:script"); + searchStrings.Add("SpineAnimationStateTrack t:script"); + + searchStrings.Add("SpineSkeletonFlipBehaviour t:script"); + searchStrings.Add("SpineSkeletonFlipClip t:script"); + searchStrings.Add("SpineSkeletonFlipMixerBehaviour t:script"); + searchStrings.Add("SpineSkeletonFlipTrack t:script"); + + searchStrings.Add("SkeletonAnimationPlayableHandle t:script"); + searchStrings.Add("SpinePlayableHandleBase t:script"); + + foreach (string searchString in searchStrings) { + string[] guids = AssetDatabase.FindAssets(searchString); + foreach (string guid in guids) { + string currentPath = AssetDatabase.GUIDToAssetPath(guid); + AssetDatabase.ImportAsset(currentPath, ImportAssetOptions.ForceUpdate); + } + } } #endif }