From 0820bd70242ca347fd37449be37efa0ac6f1479b Mon Sep 17 00:00:00 2001 From: Harald Csaszar Date: Thu, 7 Apr 2022 16:34:57 +0200 Subject: [PATCH] [unity] Fixed incorrect reloading behaviour (especially of deform timeline) at Domain Reload. Closes #2066. --- .../Editor/Utility/DataReloadHandler.cs | 40 +++++++------------ 1 file changed, 15 insertions(+), 25 deletions(-) diff --git a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/DataReloadHandler.cs b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/DataReloadHandler.cs index 6e802ada9..206520587 100644 --- a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/DataReloadHandler.cs +++ b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/DataReloadHandler.cs @@ -80,36 +80,25 @@ namespace Spine.Unity.Editor { // Here we save the skeletonGraphic.skeletonDataAsset asset path in order // to restore it later. var activeSkeletonGraphics = GameObject.FindObjectsOfType(); - foreach (var sg in activeSkeletonGraphics) { - var skeletonDataAsset = sg.skeletonDataAsset; + foreach (var skeletonGraphic in activeSkeletonGraphics) { + var skeletonDataAsset = skeletonGraphic.skeletonDataAsset; if (skeletonDataAsset != null) { var assetPath = AssetDatabase.GetAssetPath(skeletonDataAsset); - var sgID = sg.GetInstanceID(); + var sgID = skeletonGraphic.GetInstanceID(); savedSkeletonDataAssetAtSKeletonGraphicID[sgID] = assetPath; skeletonDataAssetsToReload.Add(skeletonDataAsset); } } - foreach (var sda in skeletonDataAssetsToReload) { - sda.Clear(); - sda.GetSkeletonData(true); + foreach (var skeletonDataAsset in skeletonDataAssetsToReload) { + skeletonDataAsset.Clear(); + skeletonDataAsset.GetSkeletonData(true); } - foreach (var sr in activeSkeletonRenderers) { - var meshRenderer = sr.GetComponent(); - var sharedMaterials = meshRenderer.sharedMaterials; - foreach (var m in sharedMaterials) { - if (m == null) { - sr.Initialize(true); - break; - } - } - } - - foreach (var sg in activeSkeletonGraphics) { - if (sg.mainTexture == null) - sg.Initialize(true); - } + foreach (var skeletonRenderer in activeSkeletonRenderers) + skeletonRenderer.Initialize(true); + foreach (var skeletonGraphic in activeSkeletonGraphics) + skeletonGraphic.Initialize(true); } public static void ReloadSceneSkeletonComponents (SkeletonDataAsset skeletonDataAsset) { @@ -119,13 +108,14 @@ namespace Spine.Unity.Editor { if (EditorApplication.isPlayingOrWillChangePlaymode) return; var activeSkeletonRenderers = GameObject.FindObjectsOfType(); - foreach (var sr in activeSkeletonRenderers) { - if (sr.isActiveAndEnabled && sr.skeletonDataAsset == skeletonDataAsset) sr.Initialize(true); + foreach (var renderer in activeSkeletonRenderers) { + if (renderer.isActiveAndEnabled && renderer.skeletonDataAsset == skeletonDataAsset) renderer.Initialize(true); } var activeSkeletonGraphics = GameObject.FindObjectsOfType(); - foreach (var sg in activeSkeletonGraphics) { - if (sg.isActiveAndEnabled && sg.skeletonDataAsset == skeletonDataAsset) sg.Initialize(true); + foreach (var graphic in activeSkeletonGraphics) { + if (graphic.isActiveAndEnabled && graphic.skeletonDataAsset == skeletonDataAsset) + graphic.Initialize(true); } }