How to disable input when animation is playing?

Hi, I’m using the first person template and I’m wondering how exactly do I do two things:

  1. Play a reloading animation before executing the reload functionality
  2. disable firing input while the animation is playing

This is what I have in my reload function:

void AWeapon_P90::Reload()
{
	if (FireAnimationIS != NULL) {
		if (AnimInstance != NULL)
		{
			AnimInstance->Montage_Play(ReloadAnimation, 1.f);
		}
	}
	Super::Reload();

}

My AWeapon_P90 derives from AWeapon class. The AWeapon class has its own reload function that does the calculation for reloading the ammo clip. I figured that I could run the animation and then call the super function to do the calculation, but it seems that the code above fires both simultaneously.

I want the animation to run before the calculation method. Should I be adding a delay somewhere?

Call a custom function to play the montage animation and use an animation notify to call Reload() on the super class.

In other words, you play the animation montage and disable input with a boolean, then you listen for the notify (you can specify when it should fire in the animation timeline) and call the super class to do the calculation. Then you re-enable input whenever you feel confident it should work again.