public void GrabObject(InteractableGrabbable grabbableObject, Character character)
    {
        m_GrabbedObject = grabbableObject;
        m_GrabbedObject.transform.parent = m_MovementModel.pickupItemParent;
        m_MovementModel.SetIsPushing(true);
        Vector3 facingDirection = m_MovementModel.GetFacingDirectionNoDiagonal();

        m_MovementModel.SetPushingDirection(facingDirection);
        if (grabbableObject.GetRestrict())
        {
            if (facingDirection == Helper.LEFT || facingDirection == Helper.RIGHT)
            {
                Debug.Log("facing left or right");
                m_MovementModel.RestrictYAxis(true);
            }
            else
            {
                Debug.Log("facing up or down");
                m_MovementModel.RestrictXAxis(true);
            }
        }
    }