private Sentence getNextSentenceToSpeak()
{
int selectionStart = textBox1.SelectionStart;
if (_lastSentenceSpoken == null || textBox1.SelectionLength == 0)
{
foreach (Paragraph para in _paragraphs)
{
if (selectionStart == para.Start && para.Sentences.Count() > 0)
{
return para.Sentences[0];
}
}
}
if (textBox1.SelectionLength == 0)
{
foreach (Sentence sentence in _sentences)
{
if (textBox1.SelectionStart == sentence.Start)
{
return sentence;
}
}
}
else if (_lastSentenceSpoken == null)
{
foreach (Sentence sentence in _sentences)
{
if (textBox1.SelectionStart >= sentence.Start && textBox1.SelectionStart < sentence.End)
{
return sentence;
}
}
}
else
{
selectionStart = _lastSentenceSpoken.Start + _lastSentenceSpoken.Length;
}
return _sentences.FirstOrDefault(sentence => sentence.Start >= selectionStart);
}