| 149 | } |
| 150 | |
| 151 | void CParticlesObject::DoWork() |
| 152 | { |
| 153 | // Update |
| 154 | if (m_bDead) |
| 155 | return; |
| 156 | |
| 157 | if (market != Device.dwFrame) |
| 158 | { |
| 159 | market = Device.dwFrame; |
| 160 | |
| 161 | ZoneScoped; |
| 162 | |
| 163 | const u32 dt = Device.dwTimeGlobal - dwLastTime; |
| 164 | if (dt) |
| 165 | { |
| 166 | IParticleCustom* V = smart_cast<IParticleCustom*>(renderable.visual); |
| 167 | VERIFY(V); |
| 168 | V->OnFrame(dt); |
| 169 | |
| 170 | dwLastTime = Device.dwTimeGlobal; |
| 171 | } |
| 172 | |
| 173 | UpdateSpatial(); |
| 174 | } |
| 175 | } |
| 176 | |
| 177 | void CParticlesObject::PerformFrame() |
| 178 | { |