std::vector <PermanentEffectInfo *> m_apEffectInfos;
std::vector <PermanentEffectInfo *> CvGame::getEffectInstances()
{
return m_apEffectInfos;
}
void CvGame::addSemiPermanentEffect(PermanentEffectInfo * eEffect)
{
m_apEffectInfos.push_back(eEffect);
}
void CvGame::clearPlotEffects()
{
pausePermanentEffects(true);
m_apEffectInfos.clear();
}
static bool bPauseEffects;
static void CvGame::pausePermanentEffects()
{
bPauseEffects = true;
}
DWORD WINAPI CvGame::loopEffects()
{
bPauseEffects = false;
std::vector <PermanentEffectInfo *> effects = getEffectInstances();
while (!bPauseEffects)
{
for (int i = 0; i < effects.size(); i++)
{
gDLL->getEngineIFace()->TriggerEffect(effects[i]->eEffect, effects[i]->pPlot->getPoint());
}
Sleep(long(effects[0]->eEffect->getIntervalLooping() * 1000));
}
}