1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
/* This file is part of the Spring engine (GPL v2 or later), see LICENSE.html */
#include "ExplosionListener.h"
std::set<IExplosionListener*> CExplosionCreator::explosionListeners;
IExplosionListener::~IExplosionListener()
{
CExplosionCreator::RemoveExplosionListener(this);
}
void CExplosionCreator::AddExplosionListener(IExplosionListener* listener)
{
explosionListeners.insert(listener);
}
void CExplosionCreator::RemoveExplosionListener(IExplosionListener* listener)
{
explosionListeners.erase(listener);
}
void CExplosionCreator::FireExplosionEvent(const CExplosionEvent& event)
{
std::set<IExplosionListener*>::const_iterator expList;
for (expList = explosionListeners.begin(); expList != explosionListeners.end(); ++expList) {
(*expList)->ExplosionOccurred(event);
}
}
|