= !ObjectManager = [[ArchivePage]] * __File__: source:orxonox.OLD/trunk/src/util/object_manager.h#HEAD == Idea == The !ObjectManager is the one place, where all the Entitites of the Game are stored. The !ObjectManager has multiple lists for Environmentals, enemies, dead and living matter, friends, projectiles and so on. With the !ObjectManager Entities can be grouped, and as such be ticked, drawn and collided independently and much safer, as without it. == Interaction == The !ObjectManager works closely together with [wiki:WorldEntity WorldEntity], as it is a storage container for them. The !ObjectManager has the following Lists, to store Entities: || OM_NULL || Not accessible (where they are created and deleted !! DO NOT USE THIS) || || OM_DEAD || Dead Entities, that might be revived || || OM_DEAD_TICK || Dead Entities, that must be ticked (e.g to respawn them for instance) || || OM_ENVIRON_NOTICK || Environment that is dead matter (ground house...) || || OM_ENVIRON || Environment that moved (water, trees, Particles...) || || OM_COMMON || Everything that is nowhere else, (collides with all groups) || || OM_GROUP_?? || Groups, for entitites || || OM_GROUP_??_PROJ || Projectiles of the above mentioned groups. || To Put an entity into a corresponding group (and thus taking it out of its previous group) do a: {{{ #!cpp WorldEntity* entity = new DoomsDayDevice(); entity->toList(OM_GROUP_01_PROJ); }}}