private void ChangeDialogue(int direction)
    {
        _dialogueIndex += direction;
        StartCoroutine(SpeakerState(direction));

        if (_dialogueHolder.CheckForExistingDialogue(_dialogueIndex))
        {
            //Reseta a linha e chama para imprimir a linha de novo
            if (direction > 0)
            {
                _lineIndex = -1;
            }
            else
            {
                _lineIndex = _dialogueHolder.GetLineLenght(_dialogueIndex);
            }
            ShowLine(direction);
        }

        //Não deixa o índice ser menor que 0
        _dialogueIndex = _dialogueIndex < 0 ? 0 : _dialogueIndex;

        //Chama as ações cadastradas no diálogo e impede o diálogo de continuar após acabar
        if (_dialogueIndex == _dialogueHolder.GetDialogueLenght())
        {
            _isEnd = true;

            //Executa as ações apenas se tiver ações cadastradas
            if (_dialogueHolder.CheckActions())
            {
                _dialogueHolder.InvokeActions();
            }
        }
    }