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;
- }
- }
- }
- }
|