public void SayManyPhrasesInManyLanguages(
     IEnumerable<UniLangPhrase> fragments,
     Action<UniLangPhrase> funcNextFragment)
 {
     CurMultiPhrasing = new MultiPhrasing(this, fragments.GetEnumerator(), funcNextFragment);
     CurMultiPhrasing.Start();
 }
 public void SaySinglePhrase(UniLangPhrase phrase, Action doneCallback=null)
 {
     var arrayOf1 = new[] { phrase };
     CurMultiPhrasing = new MultiPhrasing(this, arrayOf1.AsEnumerable().GetEnumerator(), (fragment) => {
         if (fragment == null) // null means we are at the end
             doneCallback?.Invoke();
     });
     CurMultiPhrasing.Start();
 }