using DG.Tweening; using UnityEngine; namespace AssetUpdate { public class LiteWindow : MonoBehaviour { public RectTransform panelRoot { get; private set; } public CanvasGroup canvasGroup { get; private set; } public bool closing { get; private set; } protected virtual void Awake() { panelRoot = (RectTransform)transform.Find("Panel"); panelRoot.localScale = Vector3.one * 0.5f; panelRoot.DOScale(Vector3.one, 0.5f).SetEase(Ease.OutBack); canvasGroup = panelRoot.GetComponent(); canvasGroup.alpha = 0f; canvasGroup.DOFade(1f, 0.5f).SetEase(Ease.OutQuart); } public void Close() { if (!closing) { closing = true; panelRoot.DOScale(Vector3.zero, 0.5f).SetEase(Ease.OutBack).OnComplete(OnCloseComplete); canvasGroup.DOFade(0f, 0.5f).SetEase(Ease.OutQuart); } } protected virtual void OnCloseComplete() { Destroy(gameObject); } } }