/// <summary> /// 透明渐变 /// </summary> /// <param name="item"></param> /// <param name="alpha"></param> /// <param name="interval"></param> protected void DoTweenAlpha(QuickGridItemBase item, float alpha, float interval) { if (alpha < 1) { CanvasGroup cg = item.GetComponent <CanvasGroup>(); if (!cg) { cg = item.localGo.AddComponent <CanvasGroup>(); } cg.DOFade(alpha, interval).From(); } }
/// <summary> /// 动画播放完成,触发回调并移除CanvasGroup /// </summary> /// <param name="t"></param> /// <param name="item"></param> /// <param name="isLast"></param> protected void OnTweenComplete(Tweener t, QuickGridItemBase item, bool isLast) { if (isLast) { t.OnComplete(() => { item.OnItemTweenComplete(); var items = config.items; for (int i = 0; i < items.Count; i++) { if (items[i].localGo.activeSelf) { items[i].OnAllTweenComplete(); } } isTweening = false; if (alpha < 1) { CanvasGroup cg = item.GetComponent <CanvasGroup>(); if (cg) { GameObject.Destroy(cg, 0.1f); } } }); } else { t.OnComplete(() => { item.OnItemTweenComplete(); if (alpha < 1) { CanvasGroup cg = item.GetComponent <CanvasGroup>(); if (cg) { GameObject.Destroy(cg, 0.1f); } } }); } }