40 #ifndef _graphicsparticlesystemproxy_h
41 #define _graphicsparticlesystemproxy_h
57 class ParticleEmitter;
58 class ParticleAffector;
106 virtual void CreateParticleSystem(
const String& Template);
109 virtual void DestroyParticleSystem();
114 static String GenerateName();
138 const String& GetName()
const;
141 const String& GetTemplate()
const;
145 void PauseParticleSystem(
bool Pause);
148 Boolean IsParticleSystemPaused()
const;
156 void SetCustomParam(
const String& Name,
const String& Value);
173 UInt16 GetNumEmitters()
const;
176 void DestroyEmitter(
const UInt16 Index);
178 void DestroyAllEmitters();
189 UInt16 GetNumAffectors()
const;
192 void DestroyAffector(
const UInt16 Index);
194 void DestroyAllAffectors();
202 void SetSpeedFactor(
const Real Factor);
206 Real GetSpeedFactor()
const;
212 virtual void ProtoSerialize(
XML::Node& ParentNode)
const;
215 virtual void ProtoSerializeTemplate(
XML::Node& SelfRoot)
const;
218 virtual void ProtoSerializeCustomParameters(
XML::Node& SelfRoot)
const;
221 virtual void ProtoSerializeEmitters(
XML::Node& SelfRoot)
const;
224 virtual void ProtoSerializeAffectors(
XML::Node& SelfRoot)
const;
226 virtual void ProtoSerializeProperties(
XML::Node& SelfRoot)
const;
229 virtual void ProtoDeSerialize(
const XML::Node& SelfRoot);
232 virtual void ProtoDeSerializeTemplate(
const XML::Node& SelfRoot);
235 virtual void ProtoDeSerializeCustomParameters(
const XML::Node& SelfRoot);
238 virtual void ProtoDeSerializeEmitters(
const XML::Node& SelfRoot);
241 virtual void ProtoDeSerializeAffectors(
const XML::Node& SelfRoot);
243 virtual void ProtoDeSerializeProperties(
const XML::Node& SelfRoot);
246 virtual String GetDerivedSerializableName()
const;
248 static String GetSerializableName();
256 virtual Ogre::ParticleSystem* _GetGraphicsObject()
const;
258 virtual Ogre::MovableObject* _GetBaseGraphicsObject()
const;