Class SystemManager

Class Documentation

class SystemManager

Менеджер систем для регистрации, включения/выключения и обновления систем.

Управляет коллекцией систем, обновляя их в порядке регистрации.

Public Functions

SystemManager() = default
template<typename T, typename ...Args>
inline SystemId registerSystem(Args&&... args)

Регистрирует новую систему в менеджере.

Создает экземпляр системы и добавляет его в список управления

Параметры шаблона:
  • T – Тип системы (должен быть производным от ISystem).

  • Args – Типы аргументов для конструктора системы.

Параметры:

args – Аргументы для передачи конструктору системы.

Результат:

Идентификатор зарегистрированной системы.

void enableSystem(SystemId systemId)

Включает систему по идентификатору.

Параметры:

systemId – Идентификатор системы, которую нужно включить.

void disableSystem(SystemId systemId)

Выключает систему по идентификатору.

Параметры:

systemId – Идентификатор системы, которую нужно выключить.

void update()

Обновляет все активные системы, при первом бызове еще и вызывает start()

Вызывает: 1) start() в системах с неактивным started. 2) update() каждый вызыв. для всех включенных систем в порядке регистрации