void EV_StopPlat (int tag) { DPlat *scan; TThinkerIterator<DPlat> iterator; while ( (scan = iterator.Next ()) ) { if (scan->m_Status != DPlat::in_stasis && scan->m_Tag == tag) scan->Stop (); } }
void FLevelLocals::EV_StopPlat (int tag, bool remove) { DPlat *scan; auto iterator = GetThinkerIterator<DPlat>(); scan = iterator.Next(); while (scan != nullptr) { DPlat *next = iterator.Next(); if (scan->m_Status != DPlat::in_stasis && scan->m_Tag == tag) { if (!remove) scan->Stop(); else scan->Destroy(); } scan = next; } }