public override void Interact()
    {
        if (agent.IsArrived(transform.position, Destination.position))
        {
            return;
        }

        if (agent.enabled)
        {
            agent.isStopped = false;
        }
        else
        {
            agent.isStopped = false;
            agent.enabled   = true;
        }

        if (carryingCoroutine != null)
        {
            StopCoroutine(carryingCoroutine);
        }
        carryingCoroutine = StartCoroutine(GetInPosition());

        IEnumerator GetInPosition()
        {
            agent.SetDestination(Destination.position);
            while (!agent.IsDone())
            {
                yield return(null);
            }
            agent.enabled = false;
        }
    }