registerModule<T extends RaylibModule<RaylibBase>> method

T registerModule<T extends RaylibModule<RaylibBase>>(
  1. T module
)

Registers module, calls RaylibModule.doLoad on it, and returns it. Throws StateError if a module of the same type is already registered.

Implementation

T registerModule<T extends RaylibModule>(T module) {
  logInfo('Registering $T');
  final key = module.runtimeType;
  if (_registeredModules.containsKey(key)) {
    throw StateError("Module '$key' is already registered!");
  }
  _registeredModules[key] = module;
  module.doLoad();
  return module;
}