When you play an animation, you get a reference to the TrackEntry that holds its info.
Spine.TrackEntry trackEntry = skeletonAnimation.AnimationState.SetAnimation(0, "dance", false);
The TrackEntry has events. Particularly, there's a Complete
event.
Spine.TrackEntry trackEntry = skeletonAnimation.AnimationState.SetAnimation(0, "dance", false);
trackEntry.Complete += HandleDanceComplete;
//...
void HandleDanceComplete (TrackEntry entry) {
// Dance completed!
// Handle the complete event here.
}