//------------------------------------------------------------------------ void CVehicleDamageBehaviorBlowTire::OnVehicleEvent(EVehicleEvent event, const SVehicleEventParams& params) { assert(event == eVE_Timer); // notify AI passengers IScriptTable* pTable = m_pVehicle->GetEntity()->GetScriptTable(); HSCRIPTFUNCTION scriptFunction(NULL); if (pTable && pTable->GetValue("OnVehicleImmobilized", scriptFunction) && scriptFunction) { Script::Call(gEnv->pScriptSystem, scriptFunction, pTable); gEnv->pScriptSystem->ReleaseFunc(scriptFunction); } }
//------------------------------------------------------------------------ void CVehicleDamageBehaviorBlowTire::OnVehicleEvent(EVehicleEvent event, const SVehicleEventParams& params) { switch (event) { case eVE_Timer: { if (params.iParam == m_aiImmobilizedTimer) { // notify AI passengers IScriptTable* pTable = m_pVehicle->GetEntity()->GetScriptTable(); HSCRIPTFUNCTION scriptFunction(NULL); if (pTable && pTable->GetValue("OnVehicleImmobilized", scriptFunction) && scriptFunction) { Script::Call(gEnv->pScriptSystem, scriptFunction, pTable); } m_aiImmobilizedTimer = -1; } } break; } }