1
0
forked from 0ad/0ad
0ad/source/tools/ape/ext/ParticleSystem.cpp
Ykkrosh ec3452679c Restructuring
This was SVN commit r1453.
2004-12-05 17:59:29 +00:00

80 lines
1.3 KiB
C++
Executable File

/*==================================================================
|
| Name: ParticleSystem.cpp
|
|===================================================================
|
| Author: Ben Vinegar
| Contact: benvinegar () hotmail ! com
|
|
| Last Modified: 04/23/04
|
| Overview: TBA
|
| Usage: TBA
|
| To do: TBA
|
| More Information: TBA
|
==================================================================*/
#include "ParticleSystem.h"
#include <assert.h>
CParticleSystem::CParticleSystem()
{
}
CParticleSystem::~CParticleSystem()
{
}
void CParticleSystem::Render()
{
CParticleEmitter * curEmitter = NULL;
std::vector<CParticleEmitter *>::iterator itor = m_Emitters.begin();
while (itor != m_Emitters.end())
{
curEmitter = (*itor);
curEmitter->Render();
itor++;
}
}
void CParticleSystem::Update()
{
CParticleEmitter * curEmitter = NULL;
std::vector<CParticleEmitter *>::iterator itor = m_Emitters.begin();
while (itor != m_Emitters.end())
{
curEmitter = (*itor);
curEmitter->Update();
if (curEmitter->IsFinished()) {
m_Emitters.erase(itor);
delete curEmitter;
}
++itor;
}
}
void CParticleSystem::Frame()
{
Render();
Update();
}
CParticleEmitter * CParticleSystem::CreateNewEmitter()
{
CParticleEmitter *newEmitter = new CParticleEmitter;
assert(newEmitter);
m_Emitters.push_back(newEmitter);
return newEmitter;
}