| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 | using UnityEngine;namespace Core.UI.UTool.UITween{    [System.Serializable]    public class TweenCanvasGroup : TweenBasic    {        // public CanvasGroup CanvasGroup;        public TweenLerpType TweenLerpType;        public float StartAlpha;        public float EndAlpha;        public AnimationCurve startX=new AnimationCurve();        public CanvasGroup GetCanvasGroup(Object CanvasGroup)        {            CanvasGroup canvasGroup = CanvasGroup as CanvasGroup;            if (canvasGroup == null)            {                GameObject gameObject = CanvasGroup as GameObject;                if (gameObject != null)                {                    canvasGroup = gameObject.GetComponent<CanvasGroup>();                }            }            return canvasGroup;        }        protected override void ProPlay(UITweenController UITweenController,Object CanvasGroup, float allTime)        {            CanvasGroup canvasGroup = GetCanvasGroup(CanvasGroup);            if (canvasGroup == null)            {                return;            }            float t = _addTime * allTime;            if (t > 1)            {                t = 1;            }            float v = 0;            switch (TweenLerpType)            {                case TweenLerpType.Default:                    v = Mathf.Lerp(StartAlpha, EndAlpha, t);                    break;                case TweenLerpType.Curve:                    v = startX.Evaluate(t);                    break;            }            canvasGroup.alpha = v;        }        protected override void ProRest(UITweenController uiTweenController,Object CanvasGroup)        {            CanvasGroup canvasGroup = GetCanvasGroup(CanvasGroup);            if (canvasGroup == null)            {                return;            }            switch (TweenLerpType)            {                case TweenLerpType.Default:                    canvasGroup.alpha = StartAlpha;                    break;                case TweenLerpType.Curve:                    canvasGroup.alpha = startX.Evaluate(0);                    break;            }        }    }}
 |