Table of Contents

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

speech ImmutableArray<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. GiveQuest("EmberCrown") Take care. reads as two segments: the first says 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.