public void PlayScaleAnimation(AnimationType animationType)
 {
     //Pointer Enter
     if (animationType == AnimationType.PointerEnter && useScaleAnimationOnHover)
     {
         GButtonCoroutineUtility.ResetCoroutine(ref _scaleAnimationCoroutine, monoBehaviour, rectTransform.AnimateScale(_calculatedScaleOnHover, scaleDurationOnHover, scaleEaseTypeOnHover));
     }
     //Pointer Exit
     else if (animationType == AnimationType.PointerExit && useScaleAnimationOnHover)
     {
         GButtonCoroutineUtility.ResetCoroutine(ref _scaleAnimationCoroutine, monoBehaviour, rectTransform.AnimateScale(_defaultScale, scaleDurationOnHover, scaleEaseTypeOnHover));
     }
     //Pointer Down
     else if (animationType == AnimationType.PointerDown && useScaleAnimationOnClick)
     {
         GButtonCoroutineUtility.ResetCoroutine(ref _scaleAnimationCoroutine, monoBehaviour, rectTransform.AnimateScale(_calculatedScaleOnClick, scaleDurationOnClick, scaleEaseTypeOnClick));
     }
     //Pointer Up (+ Hover)
     else if (animationType == AnimationType.PointerUp && useScaleAnimationOnClick && useScaleAnimationOnHover)
     {
         GButtonCoroutineUtility.ResetCoroutine(ref _scaleAnimationCoroutine, monoBehaviour, rectTransform.AnimateScale(_calculatedScaleOnHover, scaleDurationOnClick, scaleEaseTypeOnClick));
     }
     //Pointer Up
     else if (animationType == AnimationType.PointerUp && useScaleAnimationOnClick)
     {
         GButtonCoroutineUtility.ResetCoroutine(ref _scaleAnimationCoroutine, monoBehaviour, rectTransform.AnimateScale(_defaultScale, scaleDurationOnClick, scaleEaseTypeOnClick));
     }
 }
 public void PlayColorAnimation(AnimationType animationType)
 {
     //Pointer Enter
     if (animationType == AnimationType.PointerEnter && useColorAnimationOnHover)
     {
         GButtonCoroutineUtility.ResetCoroutine(ref _colorAnimationCoroutine, monoBehaviour, image.AnimateColor(colorOnHover, colorDurationOnHover, colorEaseTypeOnHover, colorSpaceTypeOnHover));
     }
     //Pointer Exit
     else if (animationType == AnimationType.PointerExit && useColorAnimationOnHover)
     {
         GButtonCoroutineUtility.ResetCoroutine(ref _colorAnimationCoroutine, monoBehaviour, image.AnimateColor(_defaultColor, colorDurationOnHover, colorEaseTypeOnHover, colorSpaceTypeOnHover));
     }
     //Pointer Down
     else if (animationType == AnimationType.PointerDown && useColorAnimationOnClick)
     {
         GButtonCoroutineUtility.ResetCoroutine(ref _colorAnimationCoroutine, monoBehaviour, image.AnimateColor(colorOnClick, colorDurationOnClick, colorEaseTypeOnClick, colorSpaceTypeOnClick));
     }
     //Pointer Up (+ Hover)
     else if (animationType == AnimationType.PointerUp && useColorAnimationOnClick && useColorAnimationOnHover)
     {
         GButtonCoroutineUtility.ResetCoroutine(ref _colorAnimationCoroutine, monoBehaviour, image.AnimateColor(colorOnHover, colorDurationOnClick, colorEaseTypeOnClick, colorSpaceTypeOnClick));
     }
     //Pointer Up
     else if (animationType == AnimationType.PointerUp && useColorAnimationOnClick)
     {
         GButtonCoroutineUtility.ResetCoroutine(ref _colorAnimationCoroutine, monoBehaviour, image.AnimateColor(_defaultColor, colorDurationOnClick, colorEaseTypeOnClick, colorSpaceTypeOnClick));
     }
 }
 public void PlayFillAmoutAnimation(AnimationType type)
 {
     if (!fillImage)
     {
         return;
     }
     if (!useFillAmountAnimation)
     {
         return;
     }
     if (type == AnimationType.PointerEnter)
     {
         GButtonCoroutineUtility.ResetCoroutine(ref _fillAnimationCoroutine, monoBehaviour, fillImage.AnimateFillAmount(1, fillImageDuration, fillImageEaseType));
     }
     else if (type == AnimationType.PointerExit)
     {
         GButtonCoroutineUtility.ResetCoroutine(ref _fillAnimationCoroutine, monoBehaviour, fillImage.AnimateFillAmount(0, fillImageDuration, fillImageEaseType));
     }
 }