public override void Speak(Conversation conversation, Speaker speaker)
    {
        RespondSpeaker respondSpeaker = (RespondSpeaker)speaker;

        if (respondSpeaker)
        {
            currentContext = respondSpeaker.Respond(type);
            currentContext.Speak(conversation, respondSpeaker);
        }
    }
 public void Next()
 {
     if (contexts.Count > 0)
     {
         IDialogueContext current = contexts.Dequeue();
         current.Speak(this, GetSpeaker(current));
     }
     else
     {
         Debug.Log("Conversation has no more contexts");
         ConversationMgr.Instance.EndConversation();
     }
 }