40 #ifndef actormanager_h
41 #define actormanager_h
43 #include "worldmanager.h"
44 #include "worldmanagerfactory.h"
161 virtual Actor* GetActor(
const Whole Index)
const;
168 virtual Whole GetNumActors()
const;
171 virtual void DestroyActor(
const Whole Index);
174 virtual void DestroyActor(
Actor* ToBeDestroyed);
176 virtual void DestroyAllActors();
181 ActorIterator BeginActor();
184 ActorIterator EndActor();
187 ConstActorIterator BeginActor()
const;
190 ConstActorIterator EndActor()
const;
201 virtual void RemoveActorFactory(
ActorFactory* ToBeRemoved);
204 virtual void RemoveActorFactory(
const String& ImplName);
207 virtual void DestroyActorFactory(
ActorFactory* ToBeDestroyed);
210 virtual void DestroyActorFactory(
const String& ImplName);
213 virtual void DestroyAllActorFactories();
219 virtual void Pause(
const UInt32 PL);
222 virtual void Initialize();
224 virtual void Deinitialize();
236 virtual String GetImplementationTypeName()
const;
This is the base class from which all the actors inherit.
WorldManager * CreateManager(World *Creator, const NameValuePairList &Params)
Creates a manager of the type represented by this factory.
Default implementation of WorkUnit. This represents on piece of work through time.
ManagerType
A listing of Manager Types.
ActorContainer::const_iterator ConstActorIterator
Const Iterator type for Actor instances stored by this class.
static const ManagerBase::ManagerType InterfaceType
A ManagerType enum value used to describe the type of interface/functionality this manager provides...
A base factory type for the creation of Actor objects.
FactoryMap ActorFactories
A map containing all registered Actor type factories.
String GetManagerImplName() const
Gets the name of the manager that is created by this factory.
FactoryMap::iterator FactoryIterator
Iterator type for ActorFactory instances stored by this class.
std::vector< Actor * > ActorContainer
Basic container type for Actor storage by this class.
std::map< String, ActorFactory * > FactoryMap
Basic container type for ActorFactory storage by this class.
A thread specific collection of double-buffered and algorithm specific resources. ...
ActorContainer Actors
Container storing all Actors belonging to this manager.
ActorContainer::iterator ActorIterator
Iterator type for Actor instances stored by this class.
A light-weight handle for manipulating nodes in DOM tree.
uint32_t UInt32
An 32-bit unsigned integer.
ManagerBase::ManagerType GetManagerType() const
Gets the type of manager that is created by this factory.
virtual ~DefaultActorManagerFactory()
Class destructor.
DefaultActorManagerFactory()
Class constructor.
std::list< NameValuePair > NameValuePairList
This is a datatype mostly used for describing settings or parameters that can't be declared in advanc...
This is the base class for all managers that belong to a single world instance.
ActorUpdateWorkUnit * ActorUpdateWork
The work unit that updates all the actors stored by this manager.
A factory responsible for the creation and destruction of the default actormanager.
This is a Mezzanine::Threading::iWorkUnit for the updating of actors.
FactoryMap::const_iterator ConstFactoryIterator
Const Iterator type for ActorFactory instances stored by this class.
static const String ImplementationName
A String containing the name of this manager implementation.
The bulk of the engine components go in this namspace.
unsigned long Whole
Whole is an unsigned integer, it will be at least 32bits in size.
This class represents a world for objects to interact within.
This is a base class for factories that construct managers used by the World class.
std::map< String, String > NameValuePairMap
This is a datatype mostly used for describing settings or parameters that can't be declared in advanc...
Threading::DefaultThreadSpecificStorage::Type * ThreadResources
Can be used for thread safe logging and other thread specific resources.
std::string String
A datatype used to a series of characters.
ActorManager * TargetManager
A pointer to the manager this work unit is processing.
void DestroyManager(WorldManager *ToBeDestroyed)
Destroys a Manager created by this factory.
A manager responsible for the storage and management of all actors that exist in a world...
This file has the definition of the workunit.