MCPcopy Create free account
hub / github.com/OGSR/OGSR-Engine / CommitEvents

Method CommitEvents

ogsr_engine/xrGame/Level_Bullet_Manager.cpp:406–440  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

404 CBulletManager::UpdateWorkload();
405}
406void CBulletManager::CommitEvents() // @ the start of frame
407{
408 for (auto& E : m_Events)
409 {
410 switch (E.Type)
411 {
412 case EVENT_HIT: {
413 if (E.dynamic)
414 DynamicObjectHit(E);
415 else
416 StaticObjectHit(E);
417 if (E.bullet.isOnBulletHit())
418 {
419 CObject* O = Level().Objects.net_Find(E.bullet.weapon_id);
420 if (O)
421 {
422 CWeapon* W = smart_cast<CWeapon*>(O);
423 if (W)
424 W->OnBulletHit();
425 }
426 }
427 }
428 break;
429 case EVENT_REMOVE: {
430 m_Bullets[E.tgt_material] = m_Bullets.back();
431 m_Bullets.pop_back();
432 }
433 break;
434 }
435 }
436 m_Events.clear();
437
438 if (m_Bullets.empty())
439 m_dwTimeRemainder = 0;
440}
441
442void CBulletManager::RegisterEvent(EventType Type, BOOL _dynamic, SBullet* bullet, const Fvector& end_point, collide::rq_result& R, u16 tgt_material)
443{

Callers 1

OnFrameMethod · 0.80

Calls 6

isOnBulletHitMethod · 0.80
OnBulletHitMethod · 0.80
backMethod · 0.45
pop_backMethod · 0.45
clearMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected