# LineProviderBehaviour

Class in [Yarn.Unity](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity)

Inherits from `MonoBehaviour`

## Summary

A `MonoBehaviour` that produces [LocalizedLine](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.localizedline) s, for use in Dialogue Views.

```csharp
public abstract class LineProviderBehaviour : MonoBehaviour
```

## Remarks

[DialogueRunner](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.dialoguerunner)s use a [LineProviderBehaviour](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour) to get [LocalizedLine](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.localizedline)s, which contain the localized information that [DialogueViewBase](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.dialogueviewbase) classes use to present content to the player.

Subclasses of this abstract class may return subclasses of [LocalizedLine](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.localizedline). For example, [AudioLineProvider](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.audiolineprovider) returns an [AudioLocalizedLine](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.audiolocalizedline), which includes `AudioClip`; views that make use of audio can then access this additional data.

## Fields

| Name                                                                                                                                                          | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| [textLanguageCode](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour/yarn.unity.lineproviderbehaviour.textlanguagecode) |             |

## Methods

| Name                                                                                                                                                                     | Description                                                                                                                                                                |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [GetLocalizedLine(Yarn.Line)](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour/yarn.unity.lineproviderbehaviour.getlocalizedline) | Prepares and returns a [LocalizedLine](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.localizedline) from the specified `Yarn.Line` .                   |
| [PrepareForLines(IEnumerable)](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour/yarn.unity.lineproviderbehaviour.prepareforlines) | Signals to the line provider that lines with the provided line IDs may be presented shortly.                                                                               |
| [Start()](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour/yarn.unity.lineproviderbehaviour.start)                                | Called by Unity when the [LineProviderBehaviour](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour) has first appeared in the scene. |

## Properties

| Name                                                                                                                                                      | Description                                                                                                                                                                                                                  |
| --------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [LinesAvailable](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour/yarn.unity.lineproviderbehaviour.linesavailable) | Gets a value indicating whether this line provider is ready to provide [LocalizedLine](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.localizedline) objects. The default implementation returns `true` . |
| [YarnProject](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour/yarn.unity.lineproviderbehaviour.yarnproject)       |                                                                                                                                                                                                                              |

## See Also

* [DialogueViewBase](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.dialogueviewbase): A `MonoBehaviour` that can present lines and options to the user, when it receives them from a [DialogueRunner](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.dialoguerunner) .
