DayZ 1.30
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 строка 607

608 {
609 int numObstructed = 0;
610 int mCount = m_VicinityObjects.Count();
612 mCount--;
613
615 for ( int i = mCount; i >= 0; --i )
616 {
617 Object object = m_VicinityObjects.GetObject(i);
618 Object parent = m_VicinityObjects.GetParent(i);
619
621 if (object && !parent)
622 {
625 if (numObstructed > OBSTRUCTED_COUNT_THRESHOLD && object != cursor_target)
626 {
627 m_VicinityObjects.Remove(object);
628 continue;
629 }
630
632 if (object != cursor_target && IsObstructedEx(object, cache))
633 {
634 m_VicinityObjects.Remove(object);
635 numObstructed++;
636 }
637
638 cache.ClearCache();
639 }
640 }
641 }
void IsObjectObstructedCache(vector rayCastStart, int totalObjects)
Определения MiscGameplayFunctions.c:2124
const int OBSTRUCTED_COUNT_THRESHOLD
misc
Определения ActionTargets.c:858
bool IsObstructedEx(Object object, IsObjectObstructedCache cache)
Определения ActionTargets.c:447
vector m_RayStart
objects in vicinity
Определения ActionTargets.c:830
class LOD Object

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

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