Skip to main content

GraphicsSystem

An Excalibur [[System]] that updates entities of certain types. Systems are scene specific

Excalibur Systems currently require at least 1 Component type to operated

Multiple types are declared as a type union For example:

class MySystem extends System {
  public readonly types = ['a', 'b'] as const;
  public readonly systemType = SystemType.Update;
  public update(elapsedMs) {
     ...
  }
}

Hierarchy

Index

Constructors

constructor

Properties

publicpriority

priority: 0 = SystemPriority.Average

System can execute in priority order, by default all systems are priority 0. Lower values indicated higher priority. For a system to execute before all other a lower priority value (-1 for example) must be set. For a system to execute after all other a higher priority value (10 for example) must be set.

query

publicreadonlysystemType

systemType: Draw = SystemType.Draw

Determine whether the system is called in the [[SystemType.Update]] or the [[SystemType.Draw]] phase. Update is first, then Draw.

publicworld

world: World

Accessors

publicsortedTransforms

Methods

publicinitialize

  • initialize(world: World, scene: Scene<unknown>): void
  • Optionally specify an initialize handler


    Parameters

    Returns void

optionalpostupdate

  • postupdate(scene: Scene<unknown>, elapsedMs: number): void
  • Optionally run a postupdate after the system processes matching entities


    Parameters

    • scene: Scene<unknown>
    • elapsedMs: number

      Time in milliseconds since the last frame

    Returns void

publicpreupdate

  • preupdate(): void
  • Optionally run a preupdate before the system processes matching entities


    Returns void

publicupdate

  • update(delta: number): void
  • Update all entities that match this system's types


    Parameters

    • delta: number

      Time in milliseconds

    Returns void