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

◆ FilterObstructedObjects()

void ActionTargets::FilterObstructedObjects ( Object cursor_target)
inlineprivate

check if targets are not obstructed (eg.: wall)

check for object obstruction(if the object is not a proxy - has no parent)

when the number of obstructed items is higher than OBSTRUCTED_COUNT_THRESHOLD remove do no run obstruction check and skip these items

obstruction check

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

563 {
564 int numObstructed = 0;
565 int mCount = m_VicinityObjects.Count();
567 mCount--;
568
570 for ( int i = mCount; i >= 0; --i )
571 {
572 Object object = m_VicinityObjects.GetObject(i);
573 Object parent = m_VicinityObjects.GetParent(i);
574
576 if (object && !parent)
577 {
580 if (numObstructed > OBSTRUCTED_COUNT_THRESHOLD && object != cursor_target)
581 {
582 m_VicinityObjects.Remove(object);
583 continue;
584 }
585
587 if (object != cursor_target && IsObstructedEx(object, cache))
588 {
589 m_VicinityObjects.Remove(object);
590 numObstructed++;
591 }
592
593 cache.ClearCache();
594 }
595 }
596 }
void IsObjectObstructedCache(vector rayCastStart, int totalObjects)
Определения MiscGameplayFunctions.c:1944
const int OBSTRUCTED_COUNT_THRESHOLD
misc
Определения ActionTargets.c:811
bool IsObstructedEx(Object object, IsObjectObstructedCache cache)
Определения ActionTargets.c:422
vector m_RayStart
objects in vicinity
Определения ActionTargets.c:784
class LOD Object

Перекрестные ссылки IsObjectObstructedCache(), IsObstructedEx(), m_RayStart и OBSTRUCTED_COUNT_THRESHOLD.

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