[unity] Fixed SkeletonUtilityConstraint subclasses not updating. Closes #2587.

This commit is contained in:
Harald Csaszar 2024-07-30 17:14:18 +02:00
parent d794d2649c
commit 195c65ffd9

View File

@ -238,6 +238,11 @@ namespace Spine.Unity {
bool needToReprocessBones; bool needToReprocessBones;
public void ResubscribeEvents () { public void ResubscribeEvents () {
ResubscribeIndependentEvents();
ResubscribeDependentEvents();
}
void ResubscribeIndependentEvents () {
if (skeletonRenderer != null) { if (skeletonRenderer != null) {
skeletonRenderer.OnRebuild -= HandleRendererReset; skeletonRenderer.OnRebuild -= HandleRendererReset;
skeletonRenderer.OnRebuild += HandleRendererReset; skeletonRenderer.OnRebuild += HandleRendererReset;
@ -250,10 +255,15 @@ namespace Spine.Unity {
if (skeletonAnimation != null) { if (skeletonAnimation != null) {
skeletonAnimation.UpdateLocal -= UpdateLocal; skeletonAnimation.UpdateLocal -= UpdateLocal;
skeletonAnimation.UpdateLocal += UpdateLocal;
}
}
void ResubscribeDependentEvents () {
if (skeletonAnimation != null) {
skeletonAnimation.UpdateWorld -= UpdateWorld; skeletonAnimation.UpdateWorld -= UpdateWorld;
skeletonAnimation.UpdateComplete -= UpdateComplete; skeletonAnimation.UpdateComplete -= UpdateComplete;
skeletonAnimation.UpdateLocal += UpdateLocal;
if (hasOverrideBones || hasConstraints) if (hasOverrideBones || hasConstraints)
skeletonAnimation.UpdateWorld += UpdateWorld; skeletonAnimation.UpdateWorld += UpdateWorld;
if (hasConstraints) if (hasConstraints)
@ -369,6 +379,7 @@ namespace Spine.Unity {
boneComponents.Clear(); boneComponents.Clear();
constraintComponents.Clear(); constraintComponents.Clear();
} }
ResubscribeDependentEvents();
} }
void UpdateLocal (ISkeletonAnimation anim) { void UpdateLocal (ISkeletonAnimation anim) {