diff --git a/spine-unity/Assets/spine-unity/SkeletonAnimation.cs b/spine-unity/Assets/spine-unity/SkeletonAnimation.cs index 3a04e93ce..c1b83cc16 100644 --- a/spine-unity/Assets/spine-unity/SkeletonAnimation.cs +++ b/spine-unity/Assets/spine-unity/SkeletonAnimation.cs @@ -130,14 +130,14 @@ public class SkeletonAnimation : SkeletonRenderer, ISkeletonAnimation { #endregion public override void Initialize (bool overwrite) { + if (valid && !overwrite) + return; + base.Initialize(overwrite); if (!valid) return; - if (!overwrite) - return; - state = new Spine.AnimationState(skeletonDataAsset.GetAnimationStateData()); #if UNITY_EDITOR diff --git a/spine-unity/Assets/spine-unity/SkeletonAnimator.cs b/spine-unity/Assets/spine-unity/SkeletonAnimator.cs index d3a8650cb..c41c0c46a 100644 --- a/spine-unity/Assets/spine-unity/SkeletonAnimator.cs +++ b/spine-unity/Assets/spine-unity/SkeletonAnimator.cs @@ -46,14 +46,14 @@ public class SkeletonAnimator : SkeletonRenderer, ISkeletonAnimation { float lastTime; public override void Initialize (bool overwrite) { + if (valid && !overwrite) + return; + base.Initialize(overwrite); if (!valid) return; - if (!overwrite) - return; - animationTable.Clear(); clipNameHashCodeTable.Clear();