-
Notifications
You must be signed in to change notification settings - Fork 21
The Root Object & Managers
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 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.
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
PhysicsWorld
s, 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
Logger
s andLogStream
s -
ResourceManager - Wrapper for the
Ogre::ResourceManager
, manages data paths