Method in LineView


Called by DialogueAdvanceInput to signal that the user has requested that the dialogue advance.

public override void UserRequestedViewAdvancement()


When this method is called, the Dialogue View should advance the dialogue. Advancing the dialogue can mean different things, depending on the nature of the dialogue view, and its current state.

In many situations, if the Dialogue View hasn't yet finished presenting its line (that is, the RunLine(LocalizedLine,Action) method has been called, but it hasn't yet called its completion handler), it's sufficient to call the requestInterrupt method, which tells the Dialogue Runner to interrupt the current line.

'Advancing' the dialogue may not always mean finishing the line's presentation.

For example, in the Legend of Zelda series of games, lines of dialogue are displayed one character at a time in a text box, until the line has finished appearing. At this point, the text box displays a button to continue; when the user presses the primary input button (typically the A button), the line is dismissed. However, if this button is pressed while the line is still appearing, the rest of the line appears all at once, and the button appears. Finally, if a secondary input button (typically the B button) is pressed at any point, the line is interrupted, and the dialogue proceeds to the next line immediately.

UserRequestedViewAdvancement() is designed to give your Dialogue View an opportunity to decide whether it wants to interrupt the entire line for all views, or simply speed up the delivery of this view.

The default implementation of this method does nothing.

Yarn Spinner® and Secret Lab® are trade marks of Secret Lab Pty. Ltd., and are used by Yarn Spinner Pty. Ltd. under license.