private void SlideIn(RectTransform rectTransform, Vector2 fromPosition, float timeAnimation, float timeDelay, TweenCallback actionOnStart = null, TweenCallback actionOnComplete = null, Ease ease = Ease.OutCubic) { if (canvasGroup == null) { canvasGroup = rectTransform.GetComponent <CanvasGroup>(); } if (canvasGroup != null) { canvasGroup.alpha = 1; } gameObject.SetActive(true); rectTransform.DOComplete(); rectTransform.anchoredPosition = fromPosition; rectTransform .DOAnchorPos(UIManager.startAnchoredPosition2D, timeAnimation, false) .SetDelay(timeDelay) .SetEase(ease) .SetUpdate(UpdateType.Normal, true) .OnStart(() => { actionOnStart?.Invoke(); OnStart?.Invoke(); }) .OnComplete(() => { ShowElements(() => { Status = UIAnimStatus.IsShow; actionOnComplete?.Invoke(); OnShowCompleted?.Invoke(); }); }); }
private void FaceIn(RectTransform rectTransform, float timeAnimation, float timeDelay, float end = 1f, TweenCallback actionOnStart = null, TweenCallback actionOnComplete = null, Ease ease = Ease.OutCubic) { if (canvasGroup == null) { canvasGroup = rectTransform.GetComponent <CanvasGroup>(); } if (canvasGroup == null) { canvasGroup = rectTransform.gameObject.AddComponent <CanvasGroup>(); } canvasGroup.alpha = 0f; gameObject.SetActive(true); canvasGroup.DOKill(true); rectTransform.DOKill(true); rectTransform .DOAnchorPos(UIManager.startAnchoredPosition2D, 0).OnComplete(() => { canvasGroup .DOFade(end, timeAnimation) .SetDelay(timeDelay) .SetEase(ease) .SetUpdate(UpdateType.Normal, true) .OnStart(() => { actionOnStart?.Invoke(); OnStart?.Invoke(); }) .OnComplete(() => { ShowElements(() => { Status = UIAnimStatus.IsShow; actionOnComplete?.Invoke(); OnShowCompleted?.Invoke(); }); }); }).SetUpdate(UpdateType.Normal, true); }