# Abstract Class: ExpressionManager<Expression, ExpressionSpec> (/jsdoc/pixi-vn-live2d/core/classes/ExpressionManager)



Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3780

Abstract expression manager.

## Emits [#emits]

[ExpressionManagerEvents](/jsdoc/pixi-vn-live2d/core/interfaces/ExpressionManagerEvents)

## Extends [#extends]

* `EventEmitter`\<keyof [`ExpressionManagerEvents`](/jsdoc/pixi-vn-live2d/core/interfaces/ExpressionManagerEvents)>

## Extended by [#extended-by]

* [`CubismLegacyExpressionManager`](/jsdoc/pixi-vn-live2d/core/classes/CubismLegacyExpressionManager)
* [`CubismExpressionManager`](/jsdoc/pixi-vn-live2d/core/classes/CubismExpressionManager)

## Type Parameters [#type-parameters]

### Expression [#expression]

`Expression` = `unknown`

### ExpressionSpec [#expressionspec]

`ExpressionSpec` = `unknown`

## Constructors [#constructors]

### Constructor [#constructor]

\> `protected` **new ExpressionManager**\<`Expression`, `ExpressionSpec`>(`settings`, `_options?`): `ExpressionManager`\<`Expression`, `ExpressionSpec`>

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3821

#### Parameters [#parameters]

##### settings [#settings]

[`ModelSettings`](/jsdoc/pixi-vn-live2d/core/classes/ModelSettings)

##### \_options? [#_options]

[`MotionManagerOptions`](/jsdoc/pixi-vn-live2d/core/interfaces/MotionManagerOptions)

#### Returns [#returns]

`ExpressionManager`\<`Expression`, `ExpressionSpec`>

#### Overrides [#overrides]

`EventEmitter<keyof ExpressionManagerEvents>.constructor`

## Properties [#properties]

### currentExpression [#currentexpression]

\> **currentExpression**: `Expression`

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3812

Current Expression. This will not be overwritten by [ExpressionManager#defaultExpression](#defaultexpression).

***

### defaultExpression [#defaultexpression]

\> **defaultExpression**: `Expression`

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3808

An empty Expression to reset all the expression parameters.

***

### definitions [#definitions]

\> `abstract` `readonly` **definitions**: `ExpressionSpec`\[]

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3793

Expression definitions copied from ModelSettings.

***

### destroyed [#destroyed]

\> **destroyed**: `boolean`

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3820

Flags the instance has been destroyed.

***

### expressionDataType [#expressiondatatype]

\> `readonly` **expressionDataType**: `XMLHttpRequestResponseType`

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3785

Indicates the content type used when loading expressions.

#### Default [#default]

```ts
"json"
```

***

### expressions [#expressions]

\> **expressions**: (`Expression` | `null` | `undefined`)\[]

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3804

The Expressions. The structure is the same as [definitions](#definitions), initially there's only
an empty array, which means all expressions will be `undefined`. When an Expression has
been loaded, it'll fill the place in which it should be; when it fails to load,
the place will be filled with `null`.

***

### reserveExpressionIndex [#reserveexpressionindex]

\> **reserveExpressionIndex**: `number`

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3816

The pending Expression.

***

### settings [#settings-1]

\> `readonly` **settings**: [`ModelSettings`](/jsdoc/pixi-vn-live2d/core/classes/ModelSettings)

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3797

The ModelSettings reference.

***

### tag [#tag]

\> **tag**: `string`

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3789

Tag for logging.

***

### prefixed [#prefixed]

\> `static` **prefixed**: `string` | `boolean`

Defined in: node\_modules/eventemitter3/index.d.ts:9

#### Inherited from [#inherited-from]

`EventEmitter.prefixed`

## Methods [#methods]

### \_setExpression() [#_setexpression]

\> `abstract` `protected&#x60; **\_setExpression**(`motion`): `number`

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3897

Applies the Expression to the model.

#### Parameters [#parameters-1]

##### motion [#motion]

`Expression`

#### Returns [#returns-1]

`number`

***

### addListener() [#addlistener]

\> **addListener**\<`T`>(`event`, `fn`, `context?`): `this`

Defined in: node\_modules/eventemitter3/index.d.ts:45

#### Type Parameters [#type-parameters-1]

##### T [#t]

`T` *extends* keyof [`ExpressionManagerEvents`](/jsdoc/pixi-vn-live2d/core/interfaces/ExpressionManagerEvents)\<`never`>

#### Parameters [#parameters-2]

##### event [#event]

`T`

##### fn [#fn]

(...`args`) => `void`

##### context? [#context]

`any`

#### Returns [#returns-2]

`this`

#### Inherited from [#inherited-from-1]

`EventEmitter.addListener`

***

### createDefaultExpression() [#createdefaultexpression]

\> `protected` **createDefaultExpression**(): `Expression`

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3829

Creates the default expression instance used for resets.

#### Returns [#returns-3]

`Expression`

***

### createExpression() [#createexpression]

\> `abstract` **createExpression**(`data`, `definition`): `Expression`

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3893

Creates an Expression from the data.

#### Parameters [#parameters-3]

##### data [#data]

`object`

Content of the expression file.

##### definition [#definition]

`ExpressionSpec` | `undefined`

The expression definition. Can be undefined in order to create [ExpressionManager#defaultExpression](#defaultexpression).

#### Returns [#returns-4]

`Expression`

The created Expression.

***

### destroy() [#destroy]

\> **destroy**(): `void`

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3872

Destroys the instance.

#### Returns [#returns-5]

`void`

#### Emits [#emits-1]

[ExpressionManagerEvents.destroy](/jsdoc/pixi-vn-live2d/core/interfaces/ExpressionManagerEvents#destroy)

***

### emit() [#emit]

\> **emit**\<`T`>(`event`, ...`args`): `boolean`

Defined in: node\_modules/eventemitter3/index.d.ts:32

Calls each of the listeners registered for a given event.

#### Type Parameters [#type-parameters-2]

##### T [#t-1]

`T` *extends* keyof [`ExpressionManagerEvents`](/jsdoc/pixi-vn-live2d/core/interfaces/ExpressionManagerEvents)\<`never`>

#### Parameters [#parameters-4]

##### event [#event-1]

`T`

##### args [#args]

...`any`\[]

#### Returns [#returns-6]

`boolean`

#### Inherited from [#inherited-from-2]

`EventEmitter.emit`

***

### eventNames() [#eventnames]

\> **eventNames**(): keyof [`ExpressionManagerEvents`](/jsdoc/pixi-vn-live2d/core/interfaces/ExpressionManagerEvents)\<`never`>\[]

Defined in: node\_modules/eventemitter3/index.d.ts:15

Return an array listing the events for which the emitter has registered
listeners.

#### Returns [#returns-7]

keyof [`ExpressionManagerEvents`](/jsdoc/pixi-vn-live2d/core/interfaces/ExpressionManagerEvents)\<`never`>\[]

#### Inherited from [#inherited-from-3]

`EventEmitter.eventNames`

***

### getExpressionFile() [#getexpressionfile]

\> `abstract` **getExpressionFile**(`definition`): `string`

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3886

Retrieves the expression's file path by its definition.

#### Parameters [#parameters-5]

##### definition [#definition-1]

`ExpressionSpec`

#### Returns [#returns-8]

`string`

The file path extracted from given definition. Not resolved.

***

### getExpressionIndex() [#getexpressionindex]

\> `abstract` **getExpressionIndex**(`name`): `number`

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3881

Retrieves the expression's index by its name.

#### Parameters [#parameters-6]

##### name [#name]

`string`

#### Returns [#returns-9]

`number`

The index. `-1` if not found.

***

### init() [#init]

\> `protected` **init**(): `void`

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3825

Should be called in the constructor of derived class.

#### Returns [#returns-10]

`void`

***

### isFinished() [#isfinished]

\> `abstract` **isFinished**(): `boolean`

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3876

Checks if the expression playback has finished.

#### Returns [#returns-11]

`boolean`

***

### listenerCount() [#listenercount]

\> **listenerCount**(`event`): `number`

Defined in: node\_modules/eventemitter3/index.d.ts:27

Return the number of listeners listening to a given event.

#### Parameters [#parameters-7]

##### event [#event-2]

keyof [`ExpressionManagerEvents`](/jsdoc/pixi-vn-live2d/core/interfaces/ExpressionManagerEvents)\<`never`>

#### Returns [#returns-12]

`number`

#### Inherited from [#inherited-from-4]

`EventEmitter.listenerCount`

***

### listeners() [#listeners]

\> **listeners**\<`T`>(`event`): (...`args`) => `void`\[]

Defined in: node\_modules/eventemitter3/index.d.ts:20

Return the listeners registered for a given event.

#### Type Parameters [#type-parameters-3]

##### T [#t-2]

`T` *extends* keyof [`ExpressionManagerEvents`](/jsdoc/pixi-vn-live2d/core/interfaces/ExpressionManagerEvents)\<`never`>

#### Parameters [#parameters-8]

##### event [#event-3]

`T`

#### Returns [#returns-13]

(...`args`) => `void`\[]

#### Inherited from [#inherited-from-5]

`EventEmitter.listeners`

***

### loadExpression() [#loadexpression]

\> `protected` **loadExpression**(`index`): `Promise`\<`Expression` | `undefined`>

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3838

Loads an Expression. Errors in this method will not be thrown,
but be emitted with an "expressionLoadError" event.

#### Parameters [#parameters-9]

##### index [#index]

`number`

Index of the expression in definitions.

#### Returns [#returns-14]

`Promise`\<`Expression` | `undefined`>

Promise that resolves with the Expression, or with undefined if it can't be loaded.

#### Emits [#emits-2]

[ExpressionManagerEvents.expressionLoaded](/jsdoc/pixi-vn-live2d/core/interfaces/ExpressionManagerEvents#expressionloaded)

#### Emits [#emits-3]

[ExpressionManagerEvents.expressionLoadError](/jsdoc/pixi-vn-live2d/core/interfaces/ExpressionManagerEvents#expressionloaderror)

***

### off() [#off]

\> **off**\<`T`>(`event`, `fn?`, `context?`, `once?`): `this`

Defined in: node\_modules/eventemitter3/index.d.ts:69

#### Type Parameters [#type-parameters-4]

##### T [#t-3]

`T` *extends* keyof [`ExpressionManagerEvents`](/jsdoc/pixi-vn-live2d/core/interfaces/ExpressionManagerEvents)\<`never`>

#### Parameters [#parameters-10]

##### event [#event-4]

`T`

##### fn? [#fn-1]

(...`args`) => `void`

##### context? [#context-1]

`any`

##### once? [#once]

`boolean`

#### Returns [#returns-15]

`this`

#### Inherited from [#inherited-from-6]

`EventEmitter.off`

***

### on() [#on]

\> **on**\<`T`>(`event`, `fn`, `context?`): `this`

Defined in: node\_modules/eventemitter3/index.d.ts:40

Add a listener for a given event.

#### Type Parameters [#type-parameters-5]

##### T [#t-4]

`T` *extends* keyof [`ExpressionManagerEvents`](/jsdoc/pixi-vn-live2d/core/interfaces/ExpressionManagerEvents)\<`never`>

#### Parameters [#parameters-11]

##### event [#event-5]

`T`

##### fn [#fn-2]

(...`args`) => `void`

##### context? [#context-2]

`any`

#### Returns [#returns-16]

`this`

#### Inherited from [#inherited-from-7]

`EventEmitter.on`

***

### once() [#once-1]

\> **once**\<`T`>(`event`, `fn`, `context?`): `this`

Defined in: node\_modules/eventemitter3/index.d.ts:54

Add a one-time listener for a given event.

#### Type Parameters [#type-parameters-6]

##### T [#t-5]

`T` *extends* keyof [`ExpressionManagerEvents`](/jsdoc/pixi-vn-live2d/core/interfaces/ExpressionManagerEvents)\<`never`>

#### Parameters [#parameters-12]

##### event [#event-6]

`T`

##### fn [#fn-3]

(...`args`) => `void`

##### context? [#context-3]

`any`

#### Returns [#returns-17]

`this`

#### Inherited from [#inherited-from-8]

`EventEmitter.once`

***

### removeAllListeners() [#removealllisteners]

\> **removeAllListeners**(`event?`): `this`

Defined in: node\_modules/eventemitter3/index.d.ts:79

Remove all listeners, or those of the specified event.

#### Parameters [#parameters-13]

##### event? [#event-7]

keyof ExpressionManagerEvents\<never>

#### Returns [#returns-18]

`this`

#### Inherited from [#inherited-from-9]

`EventEmitter.removeAllListeners`

***

### removeListener() [#removelistener]

\> **removeListener**\<`T`>(`event`, `fn?`, `context?`, `once?`): `this`

Defined in: node\_modules/eventemitter3/index.d.ts:63

Remove the listeners of a given event.

#### Type Parameters [#type-parameters-7]

##### T [#t-6]

`T` *extends* keyof [`ExpressionManagerEvents`](/jsdoc/pixi-vn-live2d/core/interfaces/ExpressionManagerEvents)\<`never`>

#### Parameters [#parameters-14]

##### event [#event-8]

`T`

##### fn? [#fn-4]

(...`args`) => `void`

##### context? [#context-4]

`any`

##### once? [#once-2]

`boolean`

#### Returns [#returns-19]

`this`

#### Inherited from [#inherited-from-10]

`EventEmitter.removeListener`

***

### resetExpression() [#resetexpression]

\> **resetExpression**(): `void`

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3852

Resets model's expression using [ExpressionManager#defaultExpression](#defaultexpression).

#### Returns [#returns-20]

`void`

***

### restoreExpression() [#restoreexpression]

\> **restoreExpression**(): `void`

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3856

Restores model's expression to [currentExpression](#currentexpression).

#### Returns [#returns-21]

`void`

***

### setExpression() [#setexpression]

\> **setExpression**(`index`): `Promise`\<`boolean`>

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3862

Sets an Expression.

#### Parameters [#parameters-15]

##### index [#index-1]

`string` | `number`

Either the index, or the name of the expression.

#### Returns [#returns-22]

`Promise`\<`boolean`>

Promise that resolves with true if succeeded, with false otherwise.

***

### setRandomExpression() [#setrandomexpression]

\> **setRandomExpression**(): `Promise`\<`boolean`>

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3848

Sets a random Expression that differs from current one.

#### Returns [#returns-23]

`Promise`\<`boolean`>

Promise that resolves with true if succeeded, with false otherwise.

***

### stopAllExpressions() [#stopallexpressions]

\> `abstract` `protected` **stopAllExpressions**(): `void`

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3901

Cancels expression playback.

#### Returns [#returns-24]

`void`

***

### update() [#update]

\> **update**(`model`, `now`): `boolean`

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3867

Updates parameters of the core model.

#### Parameters [#parameters-16]

##### model [#model]

`object`

##### now [#now]

`number`

#### Returns [#returns-25]

`boolean`

True if the parameters are actually updated.

***

### updateParameters() [#updateparameters]

\> `abstract` `protected` **updateParameters**(`model`, `now`): `boolean`

Defined in: node\_modules/untitled-pixi-live2d-engine/types/index.d.ts:3906

Updates parameters of the core model.

#### Parameters [#parameters-17]

##### model [#model-1]

`object`

##### now [#now-1]

`number`

#### Returns [#returns-26]

`boolean`

True if the parameters are actually updated.
