# AnimOnce

> Talos next · Since 0.6

How a one-shot state leaves: `once` on a state.

Every field is optional; see `AnimOnce` in the contract.

## Signature

```ts
export interface AnimOnce {
  /** The state entered at the end. Absent: back to the state that was playing before. */
  then?: string
  /** Seconds before the last frame the hand-over starts, and how long it blends. Default 0.2. */
  blendOut?: number
  /** The states that may cut it short. Absent: any; `[]`: none. */
  interrupt?: string[]
  /** The bus event raised when it ends. Default `animation-end`. */
  event?: string
}
```

Import: `import type { AnimOnce } from "@argus/gameplay"`

## Members

| Member | Signature | Description |
|---|---|---|
| `then` | `then?: string` | The state entered at the end. Absent: back to the state that was playing before. |
| `blendOut` | `blendOut?: number` | Seconds before the last frame the hand-over starts, and how long it blends. Default 0.2. |
| `interrupt` | `interrupt?: string[]` | The states that may cut it short. Absent: any; `[]`: none. |
| `event` | `event?: string` | The bus event raised when it ends. Default `animation-end`. |
