+ {
+#ifdef DEBUG
+ AccessGuard::BlockForScope _block;
+#endif
+ for(const auto &s: 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())));
+ }
+ }
+ }
+