# 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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialogueviewbase.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
