# Scripting API

### The Method Chaining design

BroAudio utilizes the Method Chaining design, just like the [System.Linq in C#](https://learn.microsoft.com/en-us/dotnet/csharp/linq/get-started/write-linq-queries), you can chain one method with another method, adding behaviors and settings in just one line of code. For example:

```csharp
BroAudio.Play(_sound).AsBGM().SetTransition(Transition.CrossFade).SetVolume(0.8f);
```

More Information in the Class/[BroAudio](https://man572142s-organization.gitbook.io/broaudio/reference/api-documentation/class/broaudio), and Interface/[IAudioPlayer](https://man572142s-organization.gitbook.io/broaudio/reference/api-documentation/interface/iaudioplayer) section.

### Page Links

{% content-ref url="api-documentation/class" %}
[class](https://man572142s-organization.gitbook.io/broaudio/reference/api-documentation/class)
{% endcontent-ref %}

{% content-ref url="api-documentation/interface" %}
[interface](https://man572142s-organization.gitbook.io/broaudio/reference/api-documentation/interface)
{% endcontent-ref %}

{% content-ref url="api-documentation/struct" %}
[struct](https://man572142s-organization.gitbook.io/broaudio/reference/api-documentation/struct)
{% endcontent-ref %}

{% content-ref url="api-documentation/enums" %}
[enums](https://man572142s-organization.gitbook.io/broaudio/reference/api-documentation/enums)
{% endcontent-ref %}
