At your programming level, you shouldn't be using the SkeletonAnimation string API anymore.
We're also thinking of removing it altogether (or moving it to a beginner string API component) in a future version, to behave similar to SkeletonGraphic.
Instead, use
skeletonAnimation.AnimationState.SetAnimation(0, animationName, loop);
whenever you want to set an animation.
In that case, you can subscribe to the Complete event just of the dodge animation.
// use stamina
// set rigidbody velocity
skeletonAnimation.AnimationState.SetAnimation(0, dodgeAnimation, false).Complete += (state) => {
Debug.Log("complete dodge");
isDodging = false;
};
I'd also personally advise against intertwining the animation and game logic too much, but that's really up to you as the architect of your game systems.