addAssimilation method

  1. @override
Registration addAssimilation(
  1. String name,
  2. Assimilation assimilation, {
  3. List<String> after = const <String>[],
  4. List<String> before = const <String>[],
})
override

Adds assimilation to the step under name, unique in the loop: it runs in the LoopPhase.input phase of every step, after the step's input is in place, and is handed the ExternalStateInputs fed in for that step. Ordered against the phase's systems by after/before.

The engine's loop takes it; a registry that has no external input says so with an UnsupportedError, the default.

Implementation

@override
Registration addAssimilation(
  String name,
  Assimilation assimilation, {
  List<String> after = const <String>[],
  List<String> before = const <String>[],
}) {
  _named(name, 'the assimilation', _store.assimilations.keys);
  _store.assimilations[name] = assimilation;
  return _track(
    Registration(() {
      if (identical(_store.assimilations[name], assimilation)) {
        _store.assimilations.remove(name);
      }
    }),
  );
}