public override UIAnimation_Base GetNewAnimation()
        {
            NewValues newValues = GetNewValues();
            MaterialAnimation_Float newAnimation = new MaterialAnimation_Float(materialAnimator, onCompleteAction, tweenType, this.propertyID, newValues.newStartValue, newValues.newEndValue, newValues.newDeltaValue, newValues.newDuration, easeCurve, loopType, loopCount);

            return(newAnimation);
        }
        ////////////////////////////////////////
        //
        // StartFloat Functions

        protected void AddFloatAnimation(UIAnimation_Base.TweenType tweenType, Action onCompleteAction, MaterialAnimation.FloatData floatData, float duration, AnimationCurve easeCurve, UIAnimation_Base.LoopType loopType, int loopCount)
        {
            MaterialAnimation_Float newMaterialAnimationFloat = new MaterialAnimation_Float(this, onCompleteAction, tweenType, Shader.PropertyToID(floatData.propertyName), floatData.startValue, floatData.endValue, floatData.deltaValue, duration, easeCurve, loopType, loopCount);

            myMaterialAnimationsFloat.Enqueue(newMaterialAnimationFloat);
        }