# ShotList

> Talos 0.7 · Since 0.6

A shot list, sampled by time.

## Signature

```ts
export class ShotList {
  readonly shots: readonly Shot[]
  readonly loop: boolean
  readonly defaultFov: number
  readonly starts: readonly number[]
  readonly duration: number
  constructor(shots: Shot[], options: ShotListOptions = {})
  sample(time: number, resolve: TargetResolver = () => null): ShotSample
}
```

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

## Members

| Member | Signature | Description |
|---|---|---|
| `shots` | `readonly shots: readonly Shot[]` |  |
| `loop` | `readonly loop: boolean` |  |
| `defaultFov` | `readonly defaultFov: number` |  |
| `starts` | `readonly starts: readonly number[]` | Start time of each shot, seconds. |
| `duration` | `readonly duration: number` | Length of the whole list, seconds. |
| `constructor` | `constructor(shots: Shot[], options: ShotListOptions = {})` |  |
| `sample` | `sample(time: number, resolve: TargetResolver = () => null): ShotSample` | The camera at `time` seconds. Entity targets go through `resolve`; one it cannot find looks at the origin. |
