IEnumerator TweenScale(TweenEntity entity)
    {
        entity.RectTransform.localScale = entity.StartScale;
        yield return(new WaitForSeconds(entity.delay));

        entity.RectTransform.DOScale(entity.FinalScale, entity.Duration).SetEase(entity.Ease);
    }
    IEnumerator TweenPosition(TweenEntity entity)
    {
        entity.RectTransform.position = entity.StartPosition;
        yield return(new WaitForSeconds(entity.delay));

        entity.RectTransform.DOMove(entity.FinalPosition, entity.Duration).SetEase(entity.Ease);
    }
    IEnumerator TweenRotation(TweenEntity entity)
    {
        entity.RectTransform.eulerAngles = Vector3.forward * entity.StartRotation;
        yield return(new WaitForSeconds(entity.delay));

        entity.RectTransform.DORotate(Vector3.forward * entity.FinalRotation, entity.Duration).SetEase(entity.Ease);
    }
 public void Tween()
 {
     //transform.dom
     for (int i = 0; i < tweenEntities.Count; i++)
     {
         TweenEntity entity = tweenEntities[i];
         if (entity.TweenPosition)
         {
             StartCoroutine(TweenPosition(entity));
         }
         if (entity.TweenRotation)
         {
             StartCoroutine(TweenRotation(entity));
         }
         if (entity.TweenScale)
         {
             StartCoroutine(TweenScale(entity));
         }
     }
 }