|
@@ -238,8 +238,27 @@ namespace Spine.Unity {
|
|
|
bool needToReprocessBones;
|
|
|
|
|
|
public void ResubscribeEvents () {
|
|
|
- OnDisable();
|
|
|
- OnEnable();
|
|
|
+ if (skeletonRenderer != null) {
|
|
|
+ skeletonRenderer.OnRebuild -= HandleRendererReset;
|
|
|
+ skeletonRenderer.OnRebuild += HandleRendererReset;
|
|
|
+ } else if (skeletonGraphic != null) {
|
|
|
+ skeletonGraphic.OnRebuild -= HandleRendererReset;
|
|
|
+ skeletonGraphic.OnRebuild += HandleRendererReset;
|
|
|
+ skeletonGraphic.OnPostProcessVertices -= UpdateToMeshScaleAndOffset;
|
|
|
+ skeletonGraphic.OnPostProcessVertices += UpdateToMeshScaleAndOffset;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (skeletonAnimation != null) {
|
|
|
+ skeletonAnimation.UpdateLocal -= UpdateLocal;
|
|
|
+ skeletonAnimation.UpdateWorld -= UpdateWorld;
|
|
|
+ skeletonAnimation.UpdateComplete -= UpdateComplete;
|
|
|
+
|
|
|
+ skeletonAnimation.UpdateLocal += UpdateLocal;
|
|
|
+ if (hasOverrideBones || hasConstraints)
|
|
|
+ skeletonAnimation.UpdateWorld += UpdateWorld;
|
|
|
+ if (hasConstraints)
|
|
|
+ skeletonAnimation.UpdateComplete += UpdateComplete;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void OnEnable () {
|
|
@@ -259,23 +278,8 @@ namespace Spine.Unity {
|
|
|
skeletonGraphic != null ? skeletonGraphic.GetComponent<ISkeletonComponent>() :
|
|
|
GetComponent<ISkeletonComponent>();
|
|
|
}
|
|
|
-
|
|
|
- if (skeletonRenderer != null) {
|
|
|
- skeletonRenderer.OnRebuild -= HandleRendererReset;
|
|
|
- skeletonRenderer.OnRebuild += HandleRendererReset;
|
|
|
- } else if (skeletonGraphic != null) {
|
|
|
- skeletonGraphic.OnRebuild -= HandleRendererReset;
|
|
|
- skeletonGraphic.OnRebuild += HandleRendererReset;
|
|
|
- skeletonGraphic.OnPostProcessVertices -= UpdateToMeshScaleAndOffset;
|
|
|
- skeletonGraphic.OnPostProcessVertices += UpdateToMeshScaleAndOffset;
|
|
|
- }
|
|
|
-
|
|
|
- if (skeletonAnimation != null) {
|
|
|
- skeletonAnimation.UpdateLocal -= UpdateLocal;
|
|
|
- skeletonAnimation.UpdateLocal += UpdateLocal;
|
|
|
- }
|
|
|
-
|
|
|
CollectBones();
|
|
|
+ ResubscribeEvents();
|
|
|
}
|
|
|
|
|
|
void Start () {
|
|
@@ -360,18 +364,6 @@ namespace Spine.Unity {
|
|
|
}
|
|
|
|
|
|
hasConstraints |= constraintComponents.Count > 0;
|
|
|
-
|
|
|
- if (skeletonAnimation != null) {
|
|
|
- skeletonAnimation.UpdateWorld -= UpdateWorld;
|
|
|
- skeletonAnimation.UpdateComplete -= UpdateComplete;
|
|
|
-
|
|
|
- if (hasOverrideBones || hasConstraints)
|
|
|
- skeletonAnimation.UpdateWorld += UpdateWorld;
|
|
|
-
|
|
|
- if (hasConstraints)
|
|
|
- skeletonAnimation.UpdateComplete += UpdateComplete;
|
|
|
- }
|
|
|
-
|
|
|
needToReprocessBones = false;
|
|
|
} else {
|
|
|
boneComponents.Clear();
|