# Class: AbstractSystemManager<TSystem>

Base class for all system managers.

# Type parameters

Name Type Description
TSystem extends AbstractSystem<any> The base system class (EntitySystem or SubSystem).

# Hierarchy

# Table of contents

# Constructors

# Accessors

# Methods

# Constructors

# constructor

new AbstractSystemManager<TSystem>(container)

# Type parameters

Name Type
TSystem extends AbstractSystem<any, TSystem>

# Parameters

Name Type Description
container ContainerInstance The container instance to use.

# Defined in

src/core/AbstractSystemManager.ts:32 (opens new window)

# Accessors

# delayOperations

Protected set delayOperations(shouldDelay): void

# Parameters

Name Type
shouldDelay boolean

# Returns

void

# Defined in

src/core/AbstractSystemManager.ts:37 (opens new window)

# Methods

# add

add<T>(constructor, priority?): T

Adds the system to this manager.

# Type parameters

Name Type Description
T extends AbstractSystem<any, T> The entity system class.

# Parameters

Name Type Default value Description
constructor SystemConstructor<T> undefined The system to add.
priority number 0 The priority to execute this system with (lower means higher priority).

# Returns

T

The newly created system.

# Defined in

src/core/AbstractSystemManager.ts:54 (opens new window)


# get

get<T>(clazz): undefined | T

Get a system by its class.

# Type parameters

Name Type Description
T extends AbstractSystem<any, T> The entity system class.

# Parameters

Name Type Description
clazz SystemConstructor<T> The constructor for T.

# Returns

undefined | T

The T of the specified class, or undefined if no such system exists.

# Defined in

src/core/AbstractSystemManager.ts:125 (opens new window)


# getAll

getAll(): TSystem[]

# Returns

TSystem[]

A list of all entity systems managed by the Engine sorted by priority.

# Defined in

src/core/AbstractSystemManager.ts:132 (opens new window)


# hasEnabledSystems

hasEnabledSystems(): boolean

# Returns

boolean

True if any added system is enabled.

# Defined in

src/core/AbstractSystemManager.ts:42 (opens new window)


# remove

remove(clazz): void

Removes the system from this Engine.

# Parameters

Name Type Description
clazz SystemConstructor<TSystem> The System class to remove.

# Returns

void

# Defined in

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


# removeAll

removeAll(): void

Removes all systems registered with this Engine.

# Returns

void

# Defined in

src/core/AbstractSystemManager.ts:105 (opens new window)