18#ifndef INCLUDED_PARTICLEMANAGER
19#define INCLUDED_PARTICLEMANAGER
24#include <boost/random/mersenne_twister.hpp>
26#include <unordered_map>
std::shared_ptr< CParticleEmitterType > CParticleEmitterTypePtr
Definition: ParticleEmitterType.h:123
std::shared_ptr< CParticleEmitter > CParticleEmitterPtr
Definition: ParticleEmitter.h:46
Definition: ParticleManager.h:31
~CParticleManager()
Definition: ParticleManager.cpp:39
std::unordered_map< VfsPath, CParticleEmitterTypePtr > m_EmitterTypes
Definition: ParticleManager.h:65
CParticleManager()
Definition: ParticleManager.cpp:33
void ClearUnattachedEmitters()
Delete unattached emitters if we don't wish to see them anymore (like in actor viewer)
Definition: ParticleManager.cpp:60
std::list< CParticleEmitterPtr > m_UnattachedEmitters
Definition: ParticleManager.h:63
void AddUnattachedEmitter(const CParticleEmitterPtr &emitter)
Tell the manager to handle rendering of an emitter that is no longer attached to a unit.
Definition: ParticleManager.cpp:55
CParticleEmitterTypePtr LoadEmitterType(const VfsPath &path)
Definition: ParticleManager.cpp:44
void Interpolate(const float simFrameLength)
Definition: ParticleManager.cpp:65
Status ReloadChangedFile(const VfsPath &path)
Definition: ParticleManager.cpp:98
float GetCurrentTime() const
Definition: ParticleManager.h:53
void RenderSubmit(SceneCollector &collector, const CFrustum &frustum)
Definition: ParticleManager.cpp:85
float m_CurrentTime
Definition: ParticleManager.h:61
boost::mt19937 m_RNG
Random number generator shared between all particle emitters.
Definition: ParticleManager.h:58
This interface accepts renderable objects.
Definition: Scene.h:90
i64 Status
Error handling system.
Definition: status.h:173