public YieldInstruction Show() { Assert.IsNotNull(canvasGroup); Assert.IsNotNull(layoutElement); layoutElement.DOKill(); var size = layoutElement .DOPreferredSize(new Vector2(preferredWidth, layoutElement.preferredHeight), showDuration) .SetEase(Ease.InOutSine); canvasGroup.DOKill(); var fade = canvasGroup .DOFade(1.0f, showDuration) .SetEase(Ease.InOutSine); return(DOTween.Sequence() .Append(size) .AppendCallback(() => SetCanvasGroupEnabled(true)) .Append(fade) .WaitForCompletion()); }