41 #ifndef _graphicsparticleaffector_cpp
42 #define _graphicsparticleaffector_cpp
44 #include "Graphics/particleaffector.h"
48 #include "stringtool.h"
57 GraphicsAffector(InternalAffector),
131 if( !CustomParametersNode.
Empty() ) {
133 String ParamName, ParamValue;
137 if( !(*ParamIt).Empty() ) {
138 if((*ParamIt).GetAttribute(
"Version").AsInt() == 1) {
139 CurrAttrib = (*ParamIt).GetAttribute(
"ParamName");
140 if( !CurrAttrib.
Empty() )
143 CurrAttrib = (*ParamIt).GetAttribute(
"ParamValue");
144 if( !CurrAttrib.
Empty() )
147 if( !ParamName.empty() && !ParamValue.empty() ) {
165 {
return "ParticleAffector"; }
Attribute AppendAttribute(const Char8 *Name)
Creates an Attribute and puts it at the end of this Nodes attributes.
A light-weight handle for manipulating attributes in DOM tree.
Ogre::ParticleAffector * GraphicsAffector
The internal affector class this class get's it functionality from.
virtual void ProtoDeSerialize(const XML::Node &SelfRoot)
Take the data stored in an XML Node and overwrite this object with it.
String GetCustomParam(const String &Name) const
Gets a custom parameter of a particle affector.
Thrown when the requested identity could not be found.
#define MEZZ_EXCEPTION(num, desc)
An easy way to throw exceptions with rich information.
static String GetSerializableName()
Get the name of the the XML tag the proxy class will leave behind as its instances are serialized...
Thrown when a version is accessed/parsed/required and it cannot work correctly or is missing...
const Char8 * AsString(const Char8 *def="") const
Attempts to convert the value of the attribute to a String and returns the results.
bool Empty() const
Is this storing anything at all?
This implements the exception hiearchy for Mezzanine.
The interface for serialization.
bool SetValue(const Char8 *rhs)
Set the value of this.
virtual void ProtoSerialize(XML::Node &ParentNode) const
Convert this class to an XML::Node ready for serialization.
ParticleAffector(Ogre::ParticleAffector *InternalAffector, ParticleSystemProxy *Creator)
Internal Class constructor.
Child node iterator (a bidirectional iterator over a collection of Node)
A light-weight handle for manipulating nodes in DOM tree.
iterator begin() const
Get a Child node iterator that references the first child Node.
int AsInt(int def=0) const
Attempts to convert the value of the attribute to an int and returns the results. ...
iterator end() const
Get a Child node iterator that references one past the last child Node.
bool Empty() const
Is this storing anything at all?
virtual void ProtoDeSerializeCustomParameters(const XML::Node &SelfRoot)
Take the data stored in an XML Node and overwrite the custom altered parameters of this object with i...
virtual void ProtoSerializeCustomParameters(XML::Node &SelfRoot) const
Convert the custom altered parameters of this class to an XML::Node ready for serialization.
virtual String GetDerivedSerializableName() const
Gets the most derived serializable name of this WorldProxy.
NameValuePairMap CustomAffectorParameters
A cache containing all of the custom altered parameters of this particle affector.
virtual ~ParticleAffector()
Class destructor.
void SetCustomParam(const String &Name, const String &Value)
Sets a custom parameter of a particle affector.
This is the proxy class for placing and manipulating particles in the scene.
The bulk of the engine components go in this namspace.
virtual Ogre::ParticleAffector * _GetGraphicsAffector() const
Accessor for the internal particle affector.
void SerializeError(const String &FailedTo, const String &ClassName, Boole SOrD)
Simply does some string concatenation, then throws an Exception.
Node AppendChild(NodeType Type=NodeElement)
Creates a Node and makes it a child of this one.
std::string String
A datatype used to a series of characters.
Attribute GetAttribute(const Char8 *Name) const
Attempt to get an Attribute on this Node with a given name.
Node GetChild(const Char8 *Name) const
Attempt to get a child Node with a given name.