{
}
+void
+SGSubsystem::postinit ()
+{
+}
+
void
SGSubsystem::reinit ()
{
_members[i]->subsystem->init();
}
+void
+SGSubsystemGroup::postinit ()
+{
+ for (unsigned int i = 0; i < _members.size(); i++)
+ _members[i]->subsystem->postinit();
+}
+
void
SGSubsystemGroup::reinit ()
{
_groups[i].init();
}
+void
+SGSubsystemMgr::postinit ()
+{
+ for (int i = 0; i < MAX_GROUPS; i++)
+ _groups[i].postinit();
+}
+
void
SGSubsystemMgr::reinit ()
{
virtual void init ();
+ /**
+ * Initialize parts that depend on other subsystems having been initialized.
+ *
+ * <p>This method should set up all parts that depend on other
+ * subsystems. One example is the scripting/Nasal subsystem, which
+ * is initialized last. So, if a subsystem wants to execute Nasal
+ * code in subsystem-specific configuration files, it has to do that
+ * in its postinit() method.</p>
+ */
+ virtual void postinit ();
+
+
/**
* Reinitialize the subsystem.
*
virtual ~SGSubsystemGroup ();
virtual void init ();
+ virtual void postinit ();
virtual void reinit ();
virtual void bind ();
virtual void unbind ();
virtual ~SGSubsystemMgr ();
virtual void init ();
+ virtual void postinit ();
virtual void reinit ();
virtual void bind ();
virtual void unbind ();