> For the complete documentation index, see [llms.txt](https://docs.yarnspinner.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialogueviewbase.md).

# DialogueViewBase

Class in [Yarn.Unity](/2.0/api/csharp/yarn.unity.md)

Inherits from `MonoBehaviour`

## Summary

A `MonoBehaviour` that can present the data of a dialogue executed by a [DialogueRunner](/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner.md) to the user. The [DialogueRunner](/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner.md) uses subclasses of this type to relay information to and from the user, and to pause and resume the execution of the `YarnScript` .

```csharp
public abstract class DialogueViewBase : MonoBehaviour
```

## Remarks

The term "view" is meant in the broadest sense, e.g. a view on the dialogue (MVVM pattern). Therefore, this abstract class only defines how a specific view on the dialogue should communicate with the [DialogueRunner](/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner.md) (e.g. display text or trigger a voice over clip). How to present the content to the user will be the responsibility of all classes inheriting from this class.

The inheriting classes will receive a [LocalizedLine](/2.0/api/csharp/yarn.unity/yarn.unity.localizedline.md) and can be in one of the stages defined in `DialogueLineStatus` while presenting it.

## Methods

| Name                                                                                                                                            | Description                                                                                                                                                                 |
| ----------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [DialogueComplete()](/2.0/api/csharp/yarn.unity/yarn.unity.dialogueviewbase/yarn.unity.dialogueviewbase.dialoguecomplete.md)                    | Called by the [DialogueRunner](/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner.md) to signal that the dialogue has ended, and no more lines will be delivered.         |
| [DialogueStarted()](/2.0/api/csharp/yarn.unity/yarn.unity.dialogueviewbase/yarn.unity.dialogueviewbase.dialoguestarted.md)                      | Signals that a conversation has started.                                                                                                                                    |
| [DismissLine(Action)](/2.0/api/csharp/yarn.unity/yarn.unity.dialogueviewbase/yarn.unity.dialogueviewbase.dismissline.md)                        | Called by the [DialogueRunner](/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner.md) to signal that the view should dismiss its current line from display, and clean up. |
| [NodeComplete(string,Action)](/2.0/api/csharp/yarn.unity/yarn.unity.dialogueviewbase/yarn.unity.dialogueviewbase.nodecomplete.md)               | Called by the [DialogueRunner](/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner.md) to signal that the end of a node has been reached.                                  |
| [OnLineStatusChanged(LocalizedLine)](/2.0/api/csharp/yarn.unity/yarn.unity.dialogueviewbase/yarn.unity.dialogueviewbase.onlinestatuschanged.md) | Called by the DialogueRunner to indicate that the line that this view is delivering has changed state.                                                                      |
| [ReadyForNextLine()](/2.0/api/csharp/yarn.unity/yarn.unity.dialogueviewbase/yarn.unity.dialogueviewbase.readyfornextline.md)                    | Signals that the user wants to go to the next line.                                                                                                                         |
| [RunLine(LocalizedLine,Action)](/2.0/api/csharp/yarn.unity/yarn.unity.dialogueviewbase/yarn.unity.dialogueviewbase.runline.md)                  | Called by the [DialogueRunner](/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner.md) to signal that a line should be displayed to the user.                              |
| [RunOptions(DialogueOption\[\],Action)](/2.0/api/csharp/yarn.unity/yarn.unity.dialogueviewbase/yarn.unity.dialogueviewbase.runoptions.md)       | Called by the [DialogueRunner](/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner.md) to signal that a set of options should be displayed to the user.                    |

## See Also

* [DialogueRunner.dialogueViews](/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.dialogueviews.md): The View classes that will present the dialogue to the user.
* DialogueUI
