private void Punch()
 {
     pointsTextTransform.DOComplete();
     PointsText.DOComplete();
     pointsTextTransform.DOPunchScale(Vector3.one * PunchAmount, PunchDuration, PunchVibration, PunchElasticity);
     PointsText.DOColor(PointAddColor, ColorEaseDuration).SetEase(ColorEase)
     .OnComplete(() => PointsText.DOColor(originalColor, ColorEaseDuration).SetEase(ColorEase));
 }
예제 #2
0
        protected override void PlayAnimation()
        {
            base.PlayAnimation();
            Transform       targetTransform = transform;
            Image           targetImage     = BackgroundImage;
            TextMeshProUGUI targetText      = TextMesh;

            switch (OnClickTarget)
            {
            case AnimationTarget.Self:
                targetTransform = transform;
                targetImage     = BackgroundImage;
                break;

            case AnimationTarget.Icon:
                targetTransform = IconImage.transform;
                targetImage     = IconImage;
                break;

            case AnimationTarget.Text:
                targetTransform = TextMesh.transform;
                break;
            }

            switch (OnCLickAnimationType)
            {
            case OnClickAnimationType.Move:
                targetTransform.DOComplete();

                if (TimeScaleIndependent)
                {
                    targetTransform.DOLocalMove(((Vector2)targetTransform.localPosition == TargetPos) ? StartPos : TargetPos, 1f).SetUpdate(true).OnComplete(CreatePopUp);
                }
                else
                {
                    targetTransform.DOLocalMove(((Vector2)targetTransform.localPosition == TargetPos) ? StartPos : TargetPos, 1f).OnComplete(CreatePopUp);
                }
                break;

            case OnClickAnimationType.PunchScale:
                transform.DOComplete();

                if (TimeScaleIndependent)
                {
                    transform.DOPunchScale(Vector3.one * (-0.1f * scaleMultiplier), 0.2f, 2, 0).SetEase(OnClikcEase).SetUpdate(true).OnComplete(CreatePopUp);
                }
                else
                {
                    transform.DOPunchScale(Vector3.one * (-0.1f * scaleMultiplier), 0.2f, 2, 0).SetEase(OnClikcEase).OnComplete(CreatePopUp);
                }
                break;

            case OnClickAnimationType.PunchRotate:
                transform.DOComplete();

                if (TimeScaleIndependent)
                {
                    transform.DOPunchRotation(Vector3.one * 0.3f, 0.3f, 3, 0).SetEase(OnClikcEase).SetUpdate(true).OnComplete(CreatePopUp);
                }
                else
                {
                    transform.DOPunchRotation(Vector3.one * 0.3f, 0.3f, 3, 0).SetEase(OnClikcEase).OnComplete(CreatePopUp);
                }
                break;

            case OnClickAnimationType.ColorChange:
                targetImage.DOComplete();
                targetText.DOComplete();

                if (TimeScaleIndependent)
                {
                    targetImage.DOColor((targetImage.color == TargetColor) ? SourceColor : TargetColor, 0.5f).SetUpdate(true).OnComplete(CreatePopUp);
                    targetText.DOColor((targetText.color == TargetColor) ? SourceColor : TargetColor, 0.5f).SetUpdate(true).OnComplete(CreatePopUp);
                }
                else
                {
                    targetImage.DOColor((targetImage.color == TargetColor) ? SourceColor : TargetColor, 0.5f).OnComplete(CreatePopUp);
                    targetText.DOColor((targetText.color == TargetColor) ? SourceColor : TargetColor, 0.5f).OnComplete(CreatePopUp);
                }
                break;

            case OnClickAnimationType.ColorChangeAndMove:
                targetTransform.DOComplete();
                targetImage.DOComplete();
                targetText.DOComplete();

                if (TimeScaleIndependent)
                {
                    targetTransform.DOLocalMove(((Vector2)targetTransform.localPosition == TargetPos) ? StartPos : TargetPos, 1f).SetUpdate(true).OnComplete(CreatePopUp);
                    targetImage.DOColor((targetImage.color == TargetColor) ? SourceColor : TargetColor, 0.5f).SetUpdate(true).OnComplete(CreatePopUp);
                    targetText.DOColor((targetText.color == TargetColor) ? SourceColor : TargetColor, 0.5f).SetUpdate(true).OnComplete(CreatePopUp);
                }
                else
                {
                    targetTransform.DOLocalMove(((Vector2)targetTransform.localPosition == TargetPos) ? StartPos : TargetPos, 1f).OnComplete(CreatePopUp);
                    targetImage.DOColor((targetImage.color == TargetColor) ? SourceColor : TargetColor, 0.5f).OnComplete(CreatePopUp);
                    targetText.DOColor((targetText.color == TargetColor) ? SourceColor : TargetColor, 0.5f).OnComplete(CreatePopUp);
                }
                break;

            case OnClickAnimationType.None:
                CreatePopUp();
                break;
            }

            //Debug.Log("Click Animation Played " + OnClickTarget + " " + OnCLickAnimationType);
        }