Method Segments
- Namespace
- DialogueDown.Playbook.Speech
- Assembly
- DialogueDown.Playbook.dll
Segments(ImmutableArray<SpeechFragment>)
Breaks a run of speech into the segments a host works through in turn.
public static ImmutableArray<SpeechSegment> Segments(ImmutableArray<SpeechFragment> speech)
Parameters
speechImmutableArray<SpeechFragment>The speech to break up.
Returns
- ImmutableArray<SpeechSegment>
The segments, in written order. Always at least one, so speech that says nothing still reads as a single silent segment.
Remarks
A command is the boundary. The words before it are said, then it is performed, then the
rest of the line carries on, which is what keeps a stage direction written mid-sentence
firing mid-sentence. Alice: Here you go. reads
as two segments: the first says GiveQuest("EmberCrown") Take care.Here you go. and gives the quest, the second says
Take care.
Emphasis written around a command divides with it, and is re-applied to the words on each
side, so *polished `Shine()` bright* keeps both halves emphasized. A command inside
a link's label or an image's alt text stays among the words there, because a link and an
image are each one thing and dividing one would make two of it.