+ for(const SystemScheduler::Group &g: scheduler.get_groups())
+ for(System *s: g.systems)
+ {
+ System::Activator act(*s);
+ try
+ {
+ s->tick(dt);
+ }
+ catch(const invalid_access &exc)
+ {
+ throw invalid_access(format("%s by %s", exc.what(), Debug::demangle(typeid(*s).name())));
+ }
+ }