registerModule<T extends RaylibModule<RaylibBase>> method

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

Registers module, calls RaylibModule.load 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) {
  if (!_silent) logInfo('Registering $T');

  if (_registeredModules.containsKey(T)) {
    throw StateError("Module '$T' is already registered!");
  }

  _registeredModules[T] = module;
  module._doLoad();
  return module;
}