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

◆ IsExclusionFlagPresentRecursive()

bool Entity::IsExclusionFlagPresentRecursive ( set< int > values,
int targetSlot )
inlineprotected

Gets flag from what is effectively an owner.

См. определение в файле 3_Game/DayZ/Entities/EntityAI.c строка 4583

4584 {
4585 if (values && values.Count() != 0)
4586 {
4587 InventoryLocation lcn = new InventoryLocation();
4589 EntityAI parent = GetHierarchyParent();
4590 set<int> passThis;
4591 if (CheckExclusionAccessCondition(lcn.GetSlot(),targetSlot, values, passThis))
4592 {
4593 if (parent && parent != this) //we reached root if false
4594 {
4595 return parent.IsExclusionFlagPresentRecursive(passThis,lcn.GetSlot());
4596 }
4597 }
4598 return IsExclusionFlagPresent(passThis);
4599 }
4600
4601 return false;
4602 }
proto native EntityAI GetHierarchyParent()
Returns direct parent of current entity.
proto native GameInventory GetInventory()
void EntityAI()
cache blood infection chance (cfgVehicles-><entity>->Skinning->BloodInfectionSettings)
bool CheckExclusionAccessCondition(int occupiedSlot, int targetSlot, set< int > value, inout set< int > adjustedValue)
bool IsExclusionFlagPresent(set< int > values)
checks 'this' if the incoming flag is present for the current state (slot behavior and others)
proto native bool GetCurrentInventoryLocation(out notnull InventoryLocation loc)
returns information about current item location
proto native int GetSlot()
returns slot id if current type is Attachment

Перекрестные ссылки CheckExclusionAccessCondition(), EntityAI(), GetHierarchyParent(), GetInventory(), InventoryLocation::GetSlot() и IsExclusionFlagPresent().

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