How can I check if an animation is finished on specified object? Using Animator

Hello,
I am using Animator component.
I have 2 characters with same animations (fighting game). Characters make damage at the begining of animation, when I pressing fight key few times and I dont want to punch if the previos animation was not ended. If I make an event at the end of animation both characters will recieve it. How can I check from which model I have recieved an event?

(Sorry for my English)

Thanks in advance

You can check if any of unlooped animations are playing.
Each object has it own Animator instance.

	bool IsAnimRunning(Animator animator)
	{
		for (int i = 0; i < animator.layerCount; i++)
		{
			//are we transitioning?
			AnimationInfo[] nextAnim = animator.GetNextAnimationClipState(i);		
			if (nextAnim.Length > 0 && nextAnim[0].clip.isLooping == false)
			{
				return true;
			}
			
			AnimatorStateInfo info = animator.GetCurrentAnimatorStateInfo(i); 
			
			if (info.loop == false && info.normalizedTime < 0.95)
			{
				return true;
			}
		}
		
		return false;
	}