Skip to main content

abstractComponent

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

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

class MyComponent extends ex.Component {
  // zero arg support required if you want to use component dependencies
  constructor(public optionalPos?: ex.Vector) {}
}

Hierarchy

Index

Constructors

constructor

Properties

optionalreadonlydependencies

dependencies?: ComponentCtor<Component>[]

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

optionalowner

owner?: Entity<any> = undefined

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

Methods

clone

  • Clones any properties on this component, if that property value has a clone() method it will be called


    Returns Component

optionalonAdd

  • onAdd(owner: Entity<any>): void
  • Optional callback called when a component is added to an entity


    Parameters

    Returns void

optionalonRemove

  • onRemove(previousOwner: Entity<any>): void
  • Optional callback called when a component is removed from an entity


    Parameters

    Returns void