# Class: Entity

Simple containers of Components, which give an entity data.

# Table of contents

# Constructors

# Properties

# Methods

# Constructors

# constructor

new Entity()

# Properties

# flags

flags: number = 0

A flag that can be used to bit mask this entity. Up to the user to manage.

# Defined in

src/core/Entity.ts:11 (opens new window)


# manager

Protected manager: null | EntityManager = null

# Defined in

src/core/Entity.ts:25 (opens new window)


# scheduledForRemoval

Protected scheduledForRemoval: boolean = false

# Defined in

src/core/Entity.ts:15 (opens new window)


# uuid

Protected uuid: number = 0

# Defined in

src/core/Entity.ts:13 (opens new window)

# Methods

# add

add<T>(component): T

Add a component.

# Type parameters

Name Type Description
T extends Component<T> The component class.

# Parameters

Name Type Description
component T The component to add.

# Returns

T

The added component.

# Defined in

src/core/Entity.ts:49 (opens new window)


# addInternal

Protected addInternal(component): boolean

# Parameters

Name Type
component Component

# Returns

boolean

# Defined in

src/core/Entity.ts:111 (opens new window)


# destroy

destroy(): void

Remove this entity from its engine.

# Returns

void

# Defined in

src/core/Entity.ts:38 (opens new window)


# get

get<T>(clazz): undefined | T

Retrieve a Component from this Entity by class.

# Type parameters

Name Type Description
T extends Component<T> The component class.

# Parameters

Name Type Description
clazz ComponentConstructor<T> The Component class.

# Returns

undefined | T

The instance of the specified Component attached to this Entity, or undefined if no such Component exists.

# Defined in

src/core/Entity.ts:84 (opens new window)


# getAll

getAll(): Component[]

# Returns

Component[]

A list with all the Components of this Entity.

# Defined in

src/core/Entity.ts:73 (opens new window)


# getComponentBits

getComponentBits(): ReadonlyBits

# Returns

ReadonlyBits

This Entity's Component bits, describing all the Components it contains.

# Defined in

src/core/Entity.ts:150 (opens new window)


# getFamilyBits

getFamilyBits(): ReadonlyBits

# Returns

ReadonlyBits

This Entity's Family bits, describing all the Families it belongs to.

# Defined in

src/core/Entity.ts:155 (opens new window)


# getId

getId(): number

# Returns

number

The Entity's unique id.

# Defined in

src/core/Entity.ts:28 (opens new window)


# has

has(clazz): boolean

# Parameters

Name Type Description
clazz ComponentConstructor<Component> The Component class.

# Returns

boolean

Whether or not the Entity has a Component for the specified class.

# Defined in

src/core/Entity.ts:106 (opens new window)


# isScheduledForRemoval

isScheduledForRemoval(): boolean

# Returns

boolean

True if the entity is scheduled to be removed.

# Defined in

src/core/Entity.ts:33 (opens new window)


# remove

remove(clazz): void

Removes the Component of the specified type. Since there is only ever one Component of one type, we don't need an instance reference.

# Parameters

Name Type Description
clazz ComponentConstructor<Component> The Component class.

# Returns

void

# Defined in

src/core/Entity.ts:61 (opens new window)


# removeAll

removeAll(): void

Removes all the Components from the Entity.

# Returns

void

# Defined in

src/core/Entity.ts:67 (opens new window)


# removeAllInternal

Protected removeAllInternal(): boolean

# Returns

boolean

# Defined in

src/core/Entity.ts:139 (opens new window)


# removeInternal

Protected removeInternal(clazz): undefined | Component

# Parameters

Name Type
clazz ComponentConstructor<Component>

# Returns

undefined | Component

# Defined in

src/core/Entity.ts:126 (opens new window)


# require

require<T>(clazz): T

Require a Component from this Entity by class.

throws If the component doesn't exist on this entity.

# Type parameters

Name Type Description
T extends Component<T> The component class.

# Parameters

Name Type Description
clazz ComponentConstructor<T> The Component class.

# Returns

T

The instance of the specified Component attached to this Entity.

# Defined in

src/core/Entity.ts:96 (opens new window)