DayZ 1.28
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ IsIgnoredObject()

bool EntityAI::IsIgnoredObject ( Object o)
inlineprotected

If the player can't interact (hint: collide) with the object, then it is ignored

Ignore any player that is currently in this vehicle

См. определение в файле Transport.c строка 491

492 {
493 if (!o)
494 return false;
495
497 int layer = dBodyGetInteractionLayer(o);
498 bool interacts = dGetInteractionLayer(this, PhxInteractionLayers.CHARACTER, layer);
499 if (!interacts)
500 {
501 return true;
502 }
503
504 DayZPlayer player;
505 if (Class.CastTo(player, o))
506 {
508 HumanCommandVehicle hcv = player.GetCommand_Vehicle();
509 if (hcv && hcv.GetTransport() == this)
510 {
511 return true;
512 }
513 }
514
515 EntityAI e = EntityAI.Cast(o);
516 // CanBeSkinned means it is a dead entity which should not block the door
517 return ( ( e && (e.IsZombie() || e.IsHologram()) ) || o.CanBeSkinned() || o.IsBush() || o.IsTree() );
518 }
class LogManager EntityAI
PhxInteractionLayers
Определения DayZPhysics.c:2
proto native Transport GetTransport()
proto native bool dGetInteractionLayer(notnull IEntity worldEntity, int mask1, int mask2)
proto native int dBodyGetInteractionLayer(notnull IEntity ent)

Перекрестные ссылки Class::CastTo(), dBodyGetInteractionLayer(), dGetInteractionLayer() и HumanCommandVehicle::GetTransport().

Используется в IsAreaAtDoorFree().