void UpdateMobileObjects(int ticks) { for (int i = 0; i < (int)gMobObjs.size; i++) { TMobileObject *obj = CArrayGet(&gMobObjs, i); if (!obj->isInUse) { continue; } if (!obj->updateFunc(obj, ticks) && !gCampaign.IsClient) { GameEvent e = GameEventNew(GAME_EVENT_REMOVE_BULLET); e.u.RemoveBullet.UID = obj->UID; GameEventsEnqueue(&gGameEvents, e); continue; } CPicUpdate(&obj->tileItem.CPic, ticks); } }
void UpdateMobileObjects(int ticks) { for (int i = 0; i < (int)gMobObjs.size; i++) { TMobileObject *obj = CArrayGet(&gMobObjs, i); if (!obj->isInUse) { continue; } if ((*(obj->updateFunc))(obj, ticks) == 0) { GameEvent e; e.Type = GAME_EVENT_MOBILE_OBJECT_REMOVE; e.u.MobileObjectRemoveId = i; GameEventsEnqueue(&gGameEvents, e); } else { CPicUpdate(&obj->tileItem.CPic, ticks); } } }