Merge branch '4.0' into 4.1-beta

This commit is contained in:
Harald Csaszar 2022-04-07 16:37:07 +02:00
commit 25a8a3aa1e

View File

@ -80,36 +80,25 @@ namespace Spine.Unity.Editor {
// Here we save the skeletonGraphic.skeletonDataAsset asset path in order // Here we save the skeletonGraphic.skeletonDataAsset asset path in order
// to restore it later. // to restore it later.
var activeSkeletonGraphics = GameObject.FindObjectsOfType<SkeletonGraphic>(); var activeSkeletonGraphics = GameObject.FindObjectsOfType<SkeletonGraphic>();
foreach (var sg in activeSkeletonGraphics) { foreach (var skeletonGraphic in activeSkeletonGraphics) {
var skeletonDataAsset = sg.skeletonDataAsset; var skeletonDataAsset = skeletonGraphic.skeletonDataAsset;
if (skeletonDataAsset != null) { if (skeletonDataAsset != null) {
var assetPath = AssetDatabase.GetAssetPath(skeletonDataAsset); var assetPath = AssetDatabase.GetAssetPath(skeletonDataAsset);
var sgID = sg.GetInstanceID(); var sgID = skeletonGraphic.GetInstanceID();
savedSkeletonDataAssetAtSKeletonGraphicID[sgID] = assetPath; savedSkeletonDataAssetAtSKeletonGraphicID[sgID] = assetPath;
skeletonDataAssetsToReload.Add(skeletonDataAsset); skeletonDataAssetsToReload.Add(skeletonDataAsset);
} }
} }
foreach (var sda in skeletonDataAssetsToReload) { foreach (var skeletonDataAsset in skeletonDataAssetsToReload) {
sda.Clear(); skeletonDataAsset.Clear();
sda.GetSkeletonData(true); skeletonDataAsset.GetSkeletonData(true);
} }
foreach (var sr in activeSkeletonRenderers) { foreach (var skeletonRenderer in activeSkeletonRenderers)
var meshRenderer = sr.GetComponent<MeshRenderer>(); skeletonRenderer.Initialize(true);
var sharedMaterials = meshRenderer.sharedMaterials; foreach (var skeletonGraphic in activeSkeletonGraphics)
foreach (var m in sharedMaterials) { skeletonGraphic.Initialize(true);
if (m == null) {
sr.Initialize(true);
break;
}
}
}
foreach (var sg in activeSkeletonGraphics) {
if (sg.mainTexture == null)
sg.Initialize(true);
}
} }
public static void ReloadSceneSkeletonComponents (SkeletonDataAsset skeletonDataAsset) { public static void ReloadSceneSkeletonComponents (SkeletonDataAsset skeletonDataAsset) {
@ -119,13 +108,14 @@ namespace Spine.Unity.Editor {
if (EditorApplication.isPlayingOrWillChangePlaymode) return; if (EditorApplication.isPlayingOrWillChangePlaymode) return;
var activeSkeletonRenderers = GameObject.FindObjectsOfType<SkeletonRenderer>(); var activeSkeletonRenderers = GameObject.FindObjectsOfType<SkeletonRenderer>();
foreach (var sr in activeSkeletonRenderers) { foreach (var renderer in activeSkeletonRenderers) {
if (sr.isActiveAndEnabled && sr.skeletonDataAsset == skeletonDataAsset) sr.Initialize(true); if (renderer.isActiveAndEnabled && renderer.skeletonDataAsset == skeletonDataAsset) renderer.Initialize(true);
} }
var activeSkeletonGraphics = GameObject.FindObjectsOfType<SkeletonGraphic>(); var activeSkeletonGraphics = GameObject.FindObjectsOfType<SkeletonGraphic>();
foreach (var sg in activeSkeletonGraphics) { foreach (var graphic in activeSkeletonGraphics) {
if (sg.isActiveAndEnabled && sg.skeletonDataAsset == skeletonDataAsset) sg.Initialize(true); if (graphic.isActiveAndEnabled && graphic.skeletonDataAsset == skeletonDataAsset)
graphic.Initialize(true);
} }
} }