Systems

Entityceramic.Systems (Class)

Manager for all System instances in the application.

Systems manages the lifecycle and update order of all systems in Ceramic. It ensures systems are updated in the correct order during both early and late update phases, handling automatic sorting and safe iteration.

Features:

  • Automatic sorting by update order
  • Safe iteration (handles systems added/removed during updates)
  • Two-phase update system (early and late updates)
  • System lookup by name
  • Automatic immediate callback flushing between systems

This class is created and managed by the App instance and typically doesn't need to be interacted with directly. Access it via app.systems.

See: System, App

Instance Members

get(name: String): System

Gets a system by its name.

Name Type Description
name String The name of the system to retrieve
Returns Description
System The system instance, or null if not found

Private Members

earlyUpdateOrderDirty: Bool

If true, earlyUpdateOrdered list needs to be sorted


lateUpdateOrderDirty: Bool

If true, lateUpdateOrdered list needs to be sorted


earlyUpdateOrdered: ReadOnlyArray<System>

List of systems, ordered ascending according to their earlyUpdateOrder property


lateUpdateOrdered: ReadOnlyArray<System>

List of systems, ordered ascending according to their lateUpdateOrder property


sortSystemsByEarlyUpdateOrder(a: System, b: System): Int
Name Type
a System
b System
Returns
Int

sortSystemsByLateUpdateOrder(a: System, b: System): Int
Name Type
a System
b System
Returns
Int

addSystem(system: System): Void
Name Type
system System

removeSystem(system: System): Void
Name Type
system System

earlyUpdate(delta: Float): Void
Name Type
delta Float

lateUpdate(delta: Float): Void
Name Type
delta Float

new(): Void

Metadata

Name Parameters
:build ceramic.macros.EntityMacro.buildForCompletion()
:autoBuild ceramic.macros.EntityMacro.buildForCompletion()
:build tracker.macros.EventsMacro.build()
:autoBuild tracker.macros.EventsMacro.build()
:allow ceramic.App