# LineProviderBehaviour

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

Inherits from `UnityEngine.MonoBehaviour`

## Summary

A `UnityEngine.MonoBehaviour` that produces [LocalizedLine](https://docs.yarnspinner.dev/2.3/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.3/api/csharp/yarn.unity/yarn.unity.dialoguerunner)s use a [LineProviderBehaviour](https://docs.yarnspinner.dev/2.3/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour) to get [LocalizedLine](https://docs.yarnspinner.dev/2.3/api/csharp/yarn.unity/yarn.unity.localizedline)s, which contain the localized information that [DialogueViewBase](https://docs.yarnspinner.dev/2.3/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.3/api/csharp/yarn.unity/yarn.unity.localizedline). For example, [AudioLineProvider](https://docs.yarnspinner.dev/2.3/api/csharp/yarn.unity/yarn.unity.audiolineprovider) returns an `AudioLocalizedLine`, which includes `UnityEngine.AudioClip`; views that make use of audio can then access this additional data.

## Methods

| Name                                                                                                                                                                     | Description                                                                                                                                                                                                     |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [GetLocalizedLine(Yarn.Line)](https://docs.yarnspinner.dev/2.3/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour/yarn.unity.lineproviderbehaviour.getlocalizedline) | Prepares and returns a [LocalizedLine](https://docs.yarnspinner.dev/2.3/api/csharp/yarn.unity/yarn.unity.localizedline) from the specified [Line](https://docs.yarnspinner.dev/2.3/api/csharp/yarn/yarn.line) . |
| [PrepareForLines(IEnumerable)](https://docs.yarnspinner.dev/2.3/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.3/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour/yarn.unity.lineproviderbehaviour.start)                                | Called by Unity when the [LineProviderBehaviour](https://docs.yarnspinner.dev/2.3/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour) has first appeared in the scene.                                      |

## Properties

| Name                                                                                                                                                      | Description                                                                                                                                                                                                                  |
| --------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [LinesAvailable](https://docs.yarnspinner.dev/2.3/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.3/api/csharp/yarn.unity/yarn.unity.localizedline) objects. The default implementation returns `true` . |
| [LocaleCode](https://docs.yarnspinner.dev/2.3/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour/yarn.unity.lineproviderbehaviour.localecode)         | Gets the user's current locale identifier, as a BCP-47 code.                                                                                                                                                                 |
| [YarnProject](https://docs.yarnspinner.dev/2.3/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour/yarn.unity.lineproviderbehaviour.yarnproject)       |                                                                                                                                                                                                                              |

## See Also

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