/// <summary>
    /// Добавляет фразу в конец диалога, либо добавляет ответ к фразе с ID, указанным в 'answerOnID'.
    /// Скрывает панель после фразы, если включен hideTrigger.
    /// </summary>
    public void AddPhrase(NowTalking character, string phrase, int answerOnID = 0, bool hideTrigger = false)
    {
        if (scenario == null)
        {
            throw new NotImplementedException("Call method \"CreateDialogPanel\" first!");
        }

        var speech = new Speech(character, phrase);

        speechByID.Add(speech);
        IDByPhrase.Add(speech.Phrase, ++lastPhraseID);

        if (hideTrigger)
        {
            hideTriggers.Add(lastPhraseID);
        }

        if (answerOnID == 0)
        {
            scenario.Add(speech);
        }
        else if (!answers.ContainsKey(answerOnID))
        {
            answers[answerOnID] = new List <Speech> {
                speech
            }
        }
        ;
        else
        {
            answers[answerOnID].Add(speech);
        }
    }
 /// <summary>
 /// Содержит персонажа и его речь
 /// </summary>
 public Speech(NowTalking character, string phrase)
 {
     Character = character;
     Phrase    = phrase;
 }