| 220 | } |
| 221 | |
| 222 | void CDangerManager::add(const CVisibleObject& object) |
| 223 | { |
| 224 | if (!object.m_enabled) |
| 225 | return; |
| 226 | |
| 227 | const CEntityAlive* obj = smart_cast<const CEntityAlive*>(object.m_object); |
| 228 | if (obj && !obj->g_Alive() && (obj->killer_id() != ALife::_OBJECT_ID(-1))) |
| 229 | { |
| 230 | if (!on_before_add.empty()) |
| 231 | { |
| 232 | luabind::functor<bool> funct; |
| 233 | if (ai().script_engine().functor(on_before_add.c_str(), funct)) |
| 234 | if (!funct(m_object->lua_game_object(), object, obj->Position(), object.m_level_time, CDangerObject::eDangerTypeFreshEntityCorpse, |
| 235 | CDangerObject::eDangerPerceiveTypeVisual)) |
| 236 | return; |
| 237 | } |
| 238 | add(CDangerObject(obj, obj->Position(), object.m_level_time, CDangerObject::eDangerTypeFreshEntityCorpse, CDangerObject::eDangerPerceiveTypeVisual)); |
| 239 | return; |
| 240 | } |
| 241 | } |
| 242 | |
| 243 | void CDangerManager::add(const CSoundObject& object) |
| 244 | { |
nothing calls this directly
no test coverage detected