A manager responsible for the storage and management of all areaeffects in use. More...
#include <areaeffectmanager.h>
Public Types | |
typedef std::vector< AreaEffect * > | AreaEffectContainer |
Basic container type for AreaEffect storage by this class. | |
typedef AreaEffectContainer::iterator | AreaEffectIterator |
Iterator type for AreaEffect instances stored by this class. | |
typedef AreaEffectContainer::const_iterator | ConstAreaEffectIterator |
Const Iterator type for AreaEffect instances stored by this class. | |
typedef FactoryMap::const_iterator | ConstFactoryIterator |
Const Iterator type for AreaEffectFactory instances stored by this class. | |
typedef FactoryMap::iterator | FactoryIterator |
Iterator type for AreaEffectFactory instances stored by this class. | |
typedef std::map< String, AreaEffectFactory * > | FactoryMap |
Basic container type for AreaEffectFactory storage by this class. | |
Public Types inherited from Mezzanine::ManagerBase | |
enum | ManagerType { MT_Undefined = 0, MT_AudioManager = 1, MT_AnimationManager = 2, MT_CollisionShapeManager = 3, MT_CompositorManager = 4, MT_GraphicsManager = 5, MT_EventManager = 6, MT_InputManager = 7, MT_LogManager = 8, MT_MaterialManager = 9, MT_MeshManager = 10, MT_NetworkManager = 11, MT_ResourceManager = 12, MT_ScriptingManager = 13, MT_TextureManager = 14, MT_UIManager = 15, MT_ActorManager = 101, MT_AreaEffectManager = 102, MT_DebrisManager = 103, MT_PagingManager = 104, MT_PhysicsManager = 105, MT_SceneManager = 106, MT_SoundScapeManager = 107, MT_TerrainManager = 108, MT_VehicleManager = 109, MT_UserCreated = 512 } |
A listing of Manager Types. More... | |
Public Member Functions | |
AreaEffectManager (World *Creator) | |
Class constructor. More... | |
AreaEffectManager (World *Creator, const XML::Node &XMLNode) | |
XML constructor. More... | |
virtual | ~AreaEffectManager () |
Class destructor. | |
virtual void | AddAreaEffectFactory (AreaEffectFactory *ToBeAdded) |
Adds/registers a AreaEffect factory with this manager, allowing it to be constructed through this API. More... | |
AreaEffectIterator | BeginAreaEffect () |
Gets an iterator to the first AreaEffect in this manager. More... | |
ConstAreaEffectIterator | BeginAreaEffect () const |
Gets a const iterator to the first AreaEffect in this manager. More... | |
AreaEffect * | CreateAreaEffect (const String &TypeName, const String &InstanceName, const NameValuePairMap &Params, const Boole AddToWorld=true) |
Creates a new AreaEffect. More... | |
AreaEffect * | CreateAreaEffect (const XML::Node &SelfRoot) |
Creates a new AreaEffect class from an XML node. More... | |
FieldOfForce * | CreateFieldOfForce (const String &Name, const Boole AddToWorld=true) |
Creates a new FieldOfForce. More... | |
FieldOfForce * | CreateFieldOfForce (const String &Name, Physics::CollisionShape *AEShape, const Boole AddToWorld=true) |
Creates a new FieldOfForce. More... | |
FieldOfForce * | CreateFieldOfForce (const XML::Node &SelfRoot) |
Creates a new FieldOfForce. More... | |
GravityField * | CreateGravityField (const String &Name, const Boole AddToWorld=true) |
Creates a new GravityField. More... | |
GravityField * | CreateGravityField (const String &Name, Physics::CollisionShape *AEShape, const Boole AddToWorld=true) |
Creates a new GravityField. More... | |
GravityField * | CreateGravityField (const XML::Node &SelfRoot) |
Creates a new GravityField. More... | |
GravityWell * | CreateGravityWell (const String &Name, const Boole AddToWorld=true) |
Creates a new GravityWell. More... | |
GravityWell * | CreateGravityWell (const String &Name, Physics::CollisionShape *AEShape, const Boole AddToWorld=true) |
Creates a new GravityWell. More... | |
GravityWell * | CreateGravityWell (const XML::Node &SelfRoot) |
Creates a new GravityWell. More... | |
virtual void | Deinitialize () |
Removes this manager from any necessary configuration so it can be safely disposed of. More... | |
virtual void | DestroyAllAreaEffectFactories () |
Destroys all AreaEffect factories in this manager. More... | |
virtual void | DestroyAllAreaEffects () |
Destroys all actors currently within this manager. | |
virtual void | DestroyAreaEffect (const Whole Index) |
Destroys an areaeffect at the specified index. More... | |
virtual void | DestroyAreaEffect (AreaEffect *ToBeDestroyed) |
Destroys an areaeffect. More... | |
virtual void | DestroyAreaEffectFactory (AreaEffectFactory *ToBeDestroyed) |
Removes and destroys a AreaEffect factory in this manager. More... | |
virtual void | DestroyAreaEffectFactory (const String &ImplName) |
Removes and destroys a AreaEffect factory in this manager. More... | |
AreaEffectIterator | EndAreaEffect () |
Gets an iterator to one passed the last AreaEffect in this manager. More... | |
ConstAreaEffectIterator | EndAreaEffect () const |
Gets a const iterator to one passed the last AreaEffect in this manager. More... | |
virtual AreaEffect * | GetAreaEffect (const Whole Index) const |
Gets an AreaEffect by Index. More... | |
virtual AreaEffect * | GetAreaEffect (const String &Name) const |
Gets an AreaEffect by Name. More... | |
AreaEffectUpdateWorkUnit * | GetAreaEffectUpdateWork () |
Gets the work unit responsible for updating area effects stored by this manager. More... | |
virtual String | GetImplementationTypeName () const |
This Allows any manager name to be sent to a stream. Primarily used for logging. More... | |
virtual ManagerType | GetInterfaceType () const |
This returns the type of this manager. More... | |
virtual Whole | GetNumAreaEffects () const |
Gets the number of actors stored in this manager. More... | |
virtual void | Initialize () |
Configures this manager for use prior to entering the main loop. More... | |
virtual void | MainLoopInitialize () |
Does all of the necessary configuration to prepare for the start of the main loop. | |
virtual void | Pause (const UInt32 PL) |
Sets the pause state of this manager, or has no effect depending on the value passed in. More... | |
virtual void | RemoveAreaEffectFactory (AreaEffectFactory *ToBeRemoved) |
Removes a AreaEffect factory from this manager. More... | |
virtual void | RemoveAreaEffectFactory (const String &ImplName) |
Removes a AreaEffect factory from this manager. More... | |
Public Member Functions inherited from Mezzanine::WorldManager | |
WorldManager (World *Creator) | |
Class constructor. More... | |
virtual | ~WorldManager () |
Class destructor. | |
virtual World * | GetWorld () const |
Gets the world this manager belongs to. More... | |
virtual Boole | IsPaused () const |
Gets whether or not this manager is currently paused. More... | |
Public Member Functions inherited from Mezzanine::ManagerBase | |
ManagerBase () | |
Class constructor. | |
virtual | ~ManagerBase () |
Class destructor. | |
virtual String | GetInterfaceTypeAsString () const |
Gets a string of the interface type of this manager. More... | |
Boole | IsInitialized () const |
Gets whether or not this manager has been initialized. More... | |
Static Public Attributes | |
static const String | ImplementationName = "DefaultAreaEffectManager" |
A String containing the name of this manager implementation. | |
static const ManagerBase::ManagerType | InterfaceType = ManagerBase::MT_AreaEffectManager |
A ManagerType enum value used to describe the type of interface/functionality this manager provides. | |
Protected Attributes | |
FactoryMap | AreaEffectFactories |
A map containing all registered AreaEffect type factories. More... | |
AreaEffectContainer | AreaEffects |
Container storing all AreaEffects belonging to this manager. More... | |
AreaEffectUpdateWorkUnit * | AreaEffectUpdateWork |
The work unit that updates all the actors stored by this manager. More... | |
Threading::DefaultThreadSpecificStorage::Type * | ThreadResources |
Can be used for thread safe logging and other thread specific resources. More... | |
Protected Attributes inherited from Mezzanine::WorldManager | |
Boole | OperationsPaused |
This stores whether or not processing for some or all objects in this manager has been paused. More... | |
World * | ParentWorld |
A pointer to the world that created this manager. More... | |
Protected Attributes inherited from Mezzanine::ManagerBase | |
Boole | Initialized |
Simple Boole indicating whether or not this manager has been initialized. More... | |
Entresol * | TheEntresol |
The actual pointer to the Entresol core class. More... | |
Friends | |
class | AreaEffectUpdateWorkUnit |
Additional Inherited Members | |
Static Public Member Functions inherited from Mezzanine::ManagerBase | |
static String | GetTypeAsString (const ManagerType &ManagerType) |
Gets the string form of the type of manager. More... | |
static ManagerType | GetTypeFromString (const String &ManagerName) |
Gets the type of manager requested from a string. More... | |
A manager responsible for the storage and management of all areaeffects in use.
More or less Management point for a container of areaeffects to help keep them sorted.
Definition at line 102 of file areaeffectmanager.h.
Mezzanine::AreaEffectManager::AreaEffectManager | ( | World * | Creator | ) |
Class constructor.
Creator | The parent world that is creating the manager. |
Definition at line 93 of file areaeffectmanager.cpp.
XML constructor.
Creator | The parent world that is creating the manager. |
XMLNode | The node of the xml document to construct from. |
Definition at line 105 of file areaeffectmanager.cpp.
|
virtual |
Adds/registers a AreaEffect factory with this manager, allowing it to be constructed through this API.
ToBeAdded | The AreaEffect factory to be added. |
Definition at line 368 of file areaeffectmanager.cpp.
AreaEffectManager::AreaEffectIterator Mezzanine::AreaEffectManager::BeginAreaEffect | ( | ) |
Gets an iterator to the first AreaEffect in this manager.
Definition at line 353 of file areaeffectmanager.cpp.
AreaEffectManager::ConstAreaEffectIterator Mezzanine::AreaEffectManager::BeginAreaEffect | ( | ) | const |
Gets a const iterator to the first AreaEffect in this manager.
Definition at line 359 of file areaeffectmanager.cpp.
AreaEffect * Mezzanine::AreaEffectManager::CreateAreaEffect | ( | const String & | TypeName, |
const String & | InstanceName, | ||
const NameValuePairMap & | Params, | ||
const Boole | AddToWorld = true |
||
) |
Creates a new AreaEffect.
TypeName | A string containing the name of the type of AreaEffect to be constructed. |
InstanceName | A string containing the name to be given to the created AreaEffect. |
Params | A container of additional parameters to be used for the construction of the new AreaEffect. |
AddToWorld | Wether or not the new AreaEffect should be added to the world after it has been created. |
Definition at line 260 of file areaeffectmanager.cpp.
AreaEffect * Mezzanine::AreaEffectManager::CreateAreaEffect | ( | const XML::Node & | SelfRoot | ) |
Creates a new AreaEffect class from an XML node.
Definition at line 275 of file areaeffectmanager.cpp.
FieldOfForce * Mezzanine::AreaEffectManager::CreateFieldOfForce | ( | const String & | Name, |
const Boole | AddToWorld = true |
||
) |
Creates a new FieldOfForce.
Name | The name to be given to the new FieldOfForce. |
AddToWorld | Wether or not the new AreaEffect should be added to the world after it has been created. |
Definition at line 131 of file areaeffectmanager.cpp.
FieldOfForce * Mezzanine::AreaEffectManager::CreateFieldOfForce | ( | const String & | Name, |
Physics::CollisionShape * | AEShape, | ||
const Boole | AddToWorld = true |
||
) |
Creates a new FieldOfForce.
Name | The name to be given to the new FieldOfForce. |
AEShape | A pointer to the Collision shape that will be applied to the new FieldOfForce. |
AddToWorld | Wether or not the new AreaEffect should be added to the world after it has been created. |
Definition at line 146 of file areaeffectmanager.cpp.
FieldOfForce * Mezzanine::AreaEffectManager::CreateFieldOfForce | ( | const XML::Node & | SelfRoot | ) |
Creates a new FieldOfForce.
SelfRoot | An XML::Node containing the data to populate this class with. |
Definition at line 161 of file areaeffectmanager.cpp.
GravityField * Mezzanine::AreaEffectManager::CreateGravityField | ( | const String & | Name, |
const Boole | AddToWorld = true |
||
) |
Creates a new GravityField.
Name | The name to be given to the new GravityField. |
AddToWorld | Wether or not the new AreaEffect should be added to the world after it has been created. |
Definition at line 173 of file areaeffectmanager.cpp.
GravityField * Mezzanine::AreaEffectManager::CreateGravityField | ( | const String & | Name, |
Physics::CollisionShape * | AEShape, | ||
const Boole | AddToWorld = true |
||
) |
Creates a new GravityField.
Name | The name to be given to the new GravityField. |
AEShape | A pointer to the Collision shape that will be applied to the new GravityField. |
AddToWorld | Wether or not the new AreaEffect should be added to the world after it has been created. |
Definition at line 188 of file areaeffectmanager.cpp.
GravityField * Mezzanine::AreaEffectManager::CreateGravityField | ( | const XML::Node & | SelfRoot | ) |
Creates a new GravityField.
SelfRoot | An XML::Node containing the data to populate this class with. |
Definition at line 203 of file areaeffectmanager.cpp.
GravityWell * Mezzanine::AreaEffectManager::CreateGravityWell | ( | const String & | Name, |
const Boole | AddToWorld = true |
||
) |
Creates a new GravityWell.
Name | The name to be given to the new GravityWell. |
AddToWorld | Wether or not the new AreaEffect should be added to the world after it has been created. |
Definition at line 215 of file areaeffectmanager.cpp.
GravityWell * Mezzanine::AreaEffectManager::CreateGravityWell | ( | const String & | Name, |
Physics::CollisionShape * | AEShape, | ||
const Boole | AddToWorld = true |
||
) |
Creates a new GravityWell.
Name | The name to be given to the new GravityWell. |
AEShape | A pointer to the Collision shape that will be applied to the new GravityWell. |
AddToWorld | Wether or not the new AreaEffect should be added to the world after it has been created. |
Definition at line 230 of file areaeffectmanager.cpp.
GravityWell * Mezzanine::AreaEffectManager::CreateGravityWell | ( | const XML::Node & | SelfRoot | ) |
Creates a new GravityWell.
SelfRoot | An XML::Node containing the data to populate this class with. |
Definition at line 245 of file areaeffectmanager.cpp.
|
virtual |
Removes this manager from any necessary configuration so it can be safely disposed of.
Implements Mezzanine::ManagerBase.
Definition at line 446 of file areaeffectmanager.cpp.
|
virtual |
Destroys all AreaEffect factories in this manager.
Definition at line 399 of file areaeffectmanager.cpp.
|
virtual |
Destroys an areaeffect at the specified index.
Index | The index at which to destroy the areaeffect. |
Definition at line 307 of file areaeffectmanager.cpp.
|
virtual |
Destroys an areaeffect.
ToBeDestroyed | The areaeffect to be destroyed. |
Definition at line 323 of file areaeffectmanager.cpp.
|
virtual |
Removes and destroys a AreaEffect factory in this manager.
ToBeDestroyed | A pointer to the AreaEffect factory that is to be removed and destroyed. |
Definition at line 385 of file areaeffectmanager.cpp.
|
virtual |
Removes and destroys a AreaEffect factory in this manager.
ImplName | The name of the AreaEffect implementation created by the factory to be removed and destroyed. |
Definition at line 390 of file areaeffectmanager.cpp.
AreaEffectManager::AreaEffectIterator Mezzanine::AreaEffectManager::EndAreaEffect | ( | ) |
Gets an iterator to one passed the last AreaEffect in this manager.
Definition at line 356 of file areaeffectmanager.cpp.
AreaEffectManager::ConstAreaEffectIterator Mezzanine::AreaEffectManager::EndAreaEffect | ( | ) | const |
Gets a const iterator to one passed the last AreaEffect in this manager.
Definition at line 362 of file areaeffectmanager.cpp.
|
virtual |
Gets an AreaEffect by Index.
Index | The index of the areaeffect you wish to retrieve. |
Definition at line 287 of file areaeffectmanager.cpp.
|
virtual |
Gets an AreaEffect by Name.
Name | The name of the areaeffect you wish to retrieve. |
Definition at line 292 of file areaeffectmanager.cpp.
AreaEffectUpdateWorkUnit * Mezzanine::AreaEffectManager::GetAreaEffectUpdateWork | ( | ) |
Gets the work unit responsible for updating area effects stored by this manager.
Definition at line 457 of file areaeffectmanager.cpp.
|
virtual |
This Allows any manager name to be sent to a stream. Primarily used for logging.
Implements Mezzanine::ManagerBase.
Definition at line 466 of file areaeffectmanager.cpp.
|
virtual |
This returns the type of this manager.
This is intended to make using and casting from Manager base easier. With this is is possible to cast from ManagerBase to the correct Manager Type.
Implements Mezzanine::ManagerBase.
Definition at line 463 of file areaeffectmanager.cpp.
|
virtual |
Gets the number of actors stored in this manager.
Definition at line 302 of file areaeffectmanager.cpp.
|
virtual |
Configures this manager for use prior to entering the main loop.
If | this is called while no valid world is set, this will throw an "INVALID_STATE_EXCEPTION". |
Reimplemented from Mezzanine::WorldManager.
Definition at line 423 of file areaeffectmanager.cpp.
|
virtual |
Sets the pause state of this manager, or has no effect depending on the value passed in.
PL | A bitfield describing the pause level being assigned to the parent world of this manager. |
Implements Mezzanine::WorldManager.
Definition at line 409 of file areaeffectmanager.cpp.
|
virtual |
Removes a AreaEffect factory from this manager.
ToBeRemoved | A pointer to the AreaEffect factory that is to be removed. |
Definition at line 373 of file areaeffectmanager.cpp.
|
virtual |
Removes a AreaEffect factory from this manager.
ImplName | The name of the AreaEffect implementation created by the factory to be removed. |
Definition at line 378 of file areaeffectmanager.cpp.
|
protected |
A map containing all registered AreaEffect type factories.
Definition at line 127 of file areaeffectmanager.h.
|
protected |
Container storing all AreaEffects belonging to this manager.
Definition at line 130 of file areaeffectmanager.h.
|
protected |
The work unit that updates all the actors stored by this manager.
Definition at line 134 of file areaeffectmanager.h.
|
protected |
Can be used for thread safe logging and other thread specific resources.
Definition at line 137 of file areaeffectmanager.h.