Options
All
  • Public
  • Public/Protected
  • All
Menu

Components are containers for state in Excalibur, the are meant to convey capabilities that an Entity posesses

Implementations of Component must have a zero-arg constructor to support dependecies

class MyComponent extends ex.Component<'my'> {
public readonly type = 'my';
// zero arg support required if you want to use component dependencies
constructor(public optionalPos?: ex.Vector) {}
}

Type parameters

  • TypeName: string = string

Hierarchy

Index

Constructors

constructor

  • new Component<TypeName>(): Component<TypeName>
  • Type parameters

    • TypeName: string = string

    Returns Component<TypeName>

Properties

Optional Readonly dependencies

dependencies?: ComponentCtor<Component<string>>[]

Optionally list any component types this component depends on If the owner entity does not have these components, new components will be added to the entity

Only components with zero-arg constructors are supported as automatic component dependencies

Optional Readonly optional

optional?: ComponentCtor<Component<string>>[]

Optional owner

owner?: Entity = null

Current owning Entity, if any, of this component. Null if not added to any Entity

Readonly Abstract type

type: TypeName

Type of this component, must be a unique type among component types in you game.

Methods

clone

Optional onAdd

Optional onRemove

  • onRemove(previousOwner: Entity): void