/// <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; }