/// <summary>
 /// Starts a Dialogue based on an AIConversant data
 /// </summary>
 /// <param name="_currentConversant"></param>
 /// <param name="_currentDialogue"></param>
 public void StartDialogue(AIConversant _currentConversant, DialogueContainer _currentDialogue)
 {
     if (_currentDialogue != null && _currentConversant != null)
     {
         currentDialogue   = _currentDialogue;
         currentConversant = _currentConversant;
         currentNode       = currentDialogue.GetRootNode();
         if (OnConversationUpdated != null)
         {
             OnConversationUpdated();
         }
         TriggerEnterAction();
     }
 }
        public bool OpenDialogue(GameObject conversant)
        {
            //You can change language like the comment below
            //I2.Loc.LocalizationManager.CurrentLanguage = "French";
            DialogueContainer dialogue         = GetDialogue();
            PlayerConversant  playerConversant = conversant.GetComponent <PlayerConversant>();

            if (playerConversant == null)
            {
                return(false);
            }
            playerConversant.StartDialogue(this, GetDialogue());
            return(true);
        }
 /// <summary>
 /// Starts a Dialogue based on an AIConversant data
 /// </summary>
 /// <param name="_currentConversant"></param>
 /// <param name="_currentDialogue"></param>
 public void StartDialogue(AIConversant _currentConversant, DialogueContainer _currentDialogue)
 {
     if (_currentDialogue != null && _currentConversant != null)
     {
         currentDialogue   = _currentDialogue;
         currentConversant = _currentConversant;
         currentNode       = currentDialogue.GetRootNode();
         //We need to update the exposed properties linked to buttons here
         HandleButtonsExposedProperties();
         if (OnConversationUpdated != null)
         {
             OnConversationUpdated();
         }
         TriggerEnterAction();
     }
 }