Skip to content

The Root Object & Managers

shua edited this page Feb 2, 2012 · 4 revisions

This tutorial should give an overview about architectural principles of the engine. You will not learn how to program a game from this tutorial, though you are encouraged to get to know the engine a bit first. You have been warned! For a list of all tutorials visit the Tutorials page in this wiki.

The Root object

The Root object is the root of the whole engine (no way!). It is the only Singleton, and holds all managers. Except from initializing and deinitializing all managers in the correct order, it does not do anything fancy.

Make sure to Initialize() and Deinitialize() the Root instance manually in case your application does not use a Game object to run the main loop.

Managers

The managers themselves do the trick - each has a special task, and initializes, manages and deinitializes the corresponding subsystems. The following Managers are implemented as of 0.2:

  • PhysicsManager - manages the PhysicsWorlds, which manage Bullet
  • DisplayManager - initializes the window, manages the viewports and cameras
    • GuiManager - handles GUI widgets and the MyGUI system
  • NetworkManager - translates Events into/from network packets and sends them
    • ConnectionsManager - manages the remotes the application is connected to
  • StateManager - keeps the stack of game
  • InputManager - initializes the OIS (input system) and translates OIS events to engine events
  • StringManager - maps Strings to IDs
  • LogManager - holds Loggers and LogStreams
  • ResourceManager - Wrapper for the Ogre::ResourceManager, manages data paths
Clone this wiki locally