# ParticleSystemComponentElement

Class · extends [`ComponentElement`](https://api.playcanvas.com/web-components/classes/ComponentElement.md)`<ParticleSystemComponent>` · category: Components

Source: https://github.com/playcanvas/web-components/blob/252f001881302c266c8d727044408c32be2bb5e7/src/components/particle-system-component.ts#L88

The ParticleSystemComponentElement interface provides properties and methods for manipulating
[`<pc-particle-system>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-particle-system/) elements.
The ParticleSystemComponentElement interface also inherits the properties and methods of the
[HTMLElement](https://developer.mozilla.org/docs/Web/API/HTMLElement) interface.

Engine component: [ParticleSystemComponent](https://api.playcanvas.com/engine/classes/ParticleSystemComponent.html) (`particlesystem`).

**elementSummary** The `<pc-particle-system>` element emits particles from its entity, with
attributes for the emitter's shape, rate, lifetime, textures and blending. Must be a child of a
`<pc-entity>`, `<pc-model>` or `<pc-node>`.

## Accessors

### asset

```ts
get asset(): string
set asset(value: string)
```

Gets the id of the `pc-asset` to use for the model.

### component

```ts
get component(): ParticleSystemComponent | null
```

Gets the underlying PlayCanvas particle system component. `null` until the element is
ready — see [ComponentElement.component](https://api.playcanvas.com/web-components/classes/ComponentElement.md#component).

## Methods

### getInitialComponentData

```ts
protected getInitialComponentData(): {}
```

Returns the data the component is created with. Overridden by subclasses to supply the
initial values of their cached properties. The element's `enabled` state is not among them:
the base class adds it when it creates the component.

**Returns** `{}`: The initial component data.

### initComponent

```ts
protected initComponent(): void
```

Configures the newly added component. Overridden by subclasses whose setup goes beyond
the initial data — child-element handling, asset resolution and the like.

### pause

```ts
pause(): void
```

Pauses the particle system

### play

```ts
play(): void
```

Starts playing the particle system

### reset

```ts
reset(): void
```

Resets the particle system

### stop

```ts
stop(): void
```

Stops the particle system

## Inherited from [ComponentElement](https://api.playcanvas.com/web-components/classes/ComponentElement.md)

- `get closestApp(): AppElement | null`
- `get closestEntity(): EntityBaseElement | null`
- `get enabled(): boolean` · `set enabled(value: boolean)`
- `protected _onReady(): void`
- `protected _resetReady(): void`
- `ready(): Promise<ParticleSystemComponentElement>`
