/// <summary>
 /// This method acts to buffer trigger events in our Animator. If a button is pressed again while our coroutine is still
 /// active, it will simply reset the buffer timer and exit out of the new cotourine.
 /// </summary>
 /// <param name="AnimationHash"></param>
 /// <param name="AttackBufferInFrames"></param>
 /// <returns></returns>
 private IEnumerator BeginBufferTriggerInput(int AnimationHash, int AttackBufferInFrames)
 {
     if (TriggerInputBufferDictionary.ContainsKey(AnimationHash))
     {
         TriggerInputBufferDictionary[AnimationHash] = AttackBufferInFrames;
         yield break;
     }
     TriggerInputBufferDictionary.Add(AnimationHash, AttackBufferInFrames);
     while (TriggerInputBufferDictionary[AnimationHash] > 0)
     {
         --TriggerInputBufferDictionary[AnimationHash];
         yield return(null);
     }
     AssociatedAnimator.SetBool(AnimationHash, false);
     TriggerInputBufferDictionary.Remove(AnimationHash);
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="AnimationHash"></param>
 /// <param name="Value"></param>
 public void SetAnimationBool(int AnimationHash, bool Value)
 {
     AssociatedAnimator.SetBool(AnimationHash, Value);
 }