# ParticleDirector

> Talos 0.7 · Since 0.6

## Signature

```ts
export class ParticleDirector {
  constructor(ctx: Ctx)
  emit(preset: ParticlePreset, at?: Target, overrides: Partial<ParticleParams> = {}): ParticleParams
  burst(preset: ParticlePreset, at?: Target, count?: number, overrides: Partial<ParticleParams> = {}): ParticleParams
  fromComponent(component?: ParticlesComponent, at?: Target): ParticleParams | null
}
```

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

## Members

| Member | Signature | Description |
|---|---|---|
| `constructor` | `constructor(ctx: Ctx)` |  |
| `emit` | `emit(preset: ParticlePreset, at?: Target, overrides: Partial<ParticleParams> = {}): ParticleParams` | Start a preset emitter at a point. Returns the parameters that were sent. |
| `burst` | `burst(preset: ParticlePreset, at?: Target, count?: number, overrides: Partial<ParticleParams> = {}): ParticleParams` | A one-shot: `count` particles now, no continuous rate. |
| `fromComponent` | `fromComponent(component?: ParticlesComponent, at?: Target): ParticleParams \| null` | Run the emitter a `particles` component describes: its preset, its rate, and its colour when it sets one. Everything else comes from the preset. Returns null when the entity has no such component. |
