Beispiel #1
0
    public override void ActiveAnimation()
    {
        OnStartedCallBack?.Invoke();
        Sequence sequence = DOTween.Sequence();

        switch (animationType)
        {
        case TypeAnimation.Move:
            rectTransform.DOMove(targetPosition, timeAnimation, false).SetEase(animationCurve).SetDelay(delay).OnComplete(CallBacks);
            break;

        case TypeAnimation.MoveReturnOrigin:
            sequence.Append(rectTransform.DOAnchorPos(targetPosition, timeAnimation, false).SetEase(animationCurve).SetDelay(delay));
            sequence.AppendInterval(coldTime);
            sequence.Append(rectTransform.DOAnchorPos(originPosition, timeAnimation, false).SetEase(animationCurve).OnComplete(CallBacks));
            break;

        case TypeAnimation.MoveFadeOut:
            sequence.Append(textComponent.DOFade(1, 0).SetDelay(delay));
            sequence.Append(rectTransform.DOAnchorPos(targetPosition, timeAnimation, false).SetEase(animationCurve));
            sequence.AppendInterval(coldTime);
            sequence.Append(textComponent.DOFade(0, timeAnimation).SetEase(animationCurve).OnComplete(CallBacks));
            break;

        case TypeAnimation.ScaleReturnOriginScale:
            sequence.Append(rectTransform.DOScale(targetScale, timeAnimation).SetEase(animationCurve).SetDelay(delay));
            sequence.AppendInterval(coldTime);
            sequence.Append(rectTransform.DOScale(originScale, timeAnimation).SetEase(animationCurve).OnComplete(CallBacks));
            break;

        case TypeAnimation.FadeOut:
            textComponent.DOFade(1, 0);
            sequence.AppendInterval(coldTime);
            sequence.Append(textComponent.DOFade(0, timeAnimation).SetEase(animationCurve).SetDelay(delay).OnComplete(CallBacks));
            break;
        }
    }
Beispiel #2
0
    public override void ActiveAnimation()
    {
        OnStartedCallBack?.Invoke();
        Sequence sequence = DOTween.Sequence();

        switch (animationType)
        {
        case TypeAnimation.Move:
            rectTransform.DOAnchorPos(targetPosition, timeAnimation, false).SetEase(animationCurve).SetDelay(delay).OnComplete(CallBacks);
            break;

        case TypeAnimation.MoveBack:
            rectTransform.DOAnchorPos(originPosition, timeAnimation, false).SetEase(animationCurve).SetDelay(delay).OnComplete(CallBacks);
            break;

        case TypeAnimation.MoveReturnOrigin:
            sequence.Append(rectTransform.DOAnchorPos(targetPosition, timeAnimation, false).SetEase(animationCurve).SetDelay(delay));
            sequence.AppendInterval(coldTime);
            sequence.Append(rectTransform.DOAnchorPos(originPosition, timeAnimation, false).SetEase(animationCurve).OnComplete(CallBacks));
            break;

        case TypeAnimation.MoveFadeOut:
            sequence.Append(image.DOFade(1, 0).SetDelay(delay));
            sequence.Append(rectTransform.DOAnchorPos(targetPosition, timeAnimation, false).SetEase(animationCurve));
            sequence.AppendInterval(coldTime);
            sequence.Append(image.DOFade(0, timeAnimation).SetEase(animationCurve).OnComplete(CallBacks));
            break;

        case TypeAnimation.MoveScale:
            sequence.Append(rectTransform.DOAnchorPos(targetPosition, timeAnimation, false).SetEase(animationCurve).SetDelay(delay));
            sequence.AppendInterval(coldTime);
            sequence.Append(rectTransform.DOScale(targetScale, timeAnimation).SetEase(animationCurve).OnComplete(CallBacks));
            break;

        case TypeAnimation.Scale:

            sequence.Append(rectTransform.DOScale(targetScale, timeAnimation).SetEase(animationCurve).SetDelay(delay));
            sequence.AppendInterval(coldTime).OnComplete(CallBacks);
            //rectTransform.DOScale(targetScale, timeAnimation).SetEase(animationCurve).SetDelay(delay).OnComplete(CallBacks);
            break;

        case TypeAnimation.ScaleReturnOriginScale:
            sequence.Append(rectTransform.DOScale(targetScale, timeAnimation).SetEase(animationCurve).SetDelay(delay));
            sequence.AppendInterval(coldTime);
            sequence.Append(rectTransform.DOScale(originScale, timeAnimation).SetEase(animationCurve).OnComplete(CallBacks));
            break;

        case TypeAnimation.MoveWorldPoint2D:
            Vector3 worldPos = worldPoint.position;
            float   z        = Camera.main.nearClipPlane;
            worldPos.z     = z;
            targetPosition = worldPos;
            rectTransform.DOMove(targetPosition, timeAnimation, false).SetEase(animationCurve).SetDelay(delay).OnComplete(CallBacks);
            break;

        case TypeAnimation.MoveWorldPoint2DScale:
            worldPos       = worldPoint.position;
            z              = Camera.main.nearClipPlane;
            worldPos.z     = z;
            targetPosition = worldPos;
            sequence.Append(rectTransform.DOMove(targetPosition, timeAnimation, false).SetEase(animationCurve).SetDelay(delay));
            sequence.AppendInterval(coldTime);
            sequence.Append(rectTransform.DOScale(targetScale, timeAnimation).SetEase(animationCurve).OnComplete(CallBacks));
            break;

        case TypeAnimation.MoveScaleWorldPoint2D:
            worldPos       = worldPoint.position;
            z              = Camera.main.nearClipPlane;
            worldPos.z     = z;
            targetPosition = worldPos;
            sequence.Append(rectTransform.DOMove(targetPosition, timeAnimation, false).SetEase(animationCurve).SetDelay(delay));
            sequence.AppendInterval(coldTime);
            sequence.Append(rectTransform.DOScale(targetScale, timeAnimation).SetEase(animationCurve).OnComplete(CallBacks));
            break;

        case TypeAnimation.MoveUIPoint:
            targetPosition = worldPoint.position;
            rectTransform.DOMove(targetPosition, timeAnimation, false).SetEase(animationCurve).SetDelay(delay).OnComplete(CallBacks);
            break;

        case TypeAnimation.MoveScaleUIPoint:
            targetPosition = worldPoint.position;
            sequence.Append(rectTransform.DOMove(targetPosition, timeAnimation, false).SetEase(animationCurve).SetDelay(delay));
            sequence.AppendInterval(coldTime);
            sequence.Append(rectTransform.DOScale(targetScale, timeAnimation).SetEase(animationCurve).OnComplete(CallBacks));
            break;

        case TypeAnimation.ColorChange:
            image.DOColor(colorTarget, timeAnimation).SetEase(animationCurve).SetDelay(delay).OnComplete(CallBacks);
            break;

        case TypeAnimation.FadeOut:
            image.DOFade(1, 0);
            image.DOFade(0, timeAnimation).SetEase(animationCurve).SetDelay(delay).OnComplete(CallBacks);
            break;

        case TypeAnimation.SwitchSprite:
            if (ReferenceEquals(image.sprite, spriteOriginal))
            {
                image.sprite = spriteToShift;
            }
            else
            {
                image.sprite = spriteOriginal;
            }
            break;
        }
    }