void CCustomZone::UpdateBlowout() { if(m_dwBlowoutParticlesTime>=(u32)m_iPreviousStateTime && m_dwBlowoutParticlesTime<(u32)m_iStateTime) PlayBlowoutParticles(); if(m_dwBlowoutLightTime>=(u32)m_iPreviousStateTime && m_dwBlowoutLightTime<(u32)m_iStateTime) StartBlowoutLight (); if(m_dwBlowoutSoundTime>=(u32)m_iPreviousStateTime && m_dwBlowoutSoundTime<(u32)m_iStateTime) m_blowout_sound.play_at_pos (0, Position()); if(m_zone_flags.test(eBlowoutWind) && m_dwBlowoutWindTimeStart>=(u32)m_iPreviousStateTime && m_dwBlowoutWindTimeStart<(u32)m_iStateTime) StartWind(); UpdateWind(); if(m_dwBlowoutExplosionTime>=(u32)m_iPreviousStateTime && m_dwBlowoutExplosionTime<(u32)m_iStateTime) { AffectObjects(); } }
bool CBaseGraviZone ::BlowoutState() { bool result = inherited::BlowoutState(); UpdateBlowout(); AffectObjects(); return result; }