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

◆ IsValidTargetObject()

bool CCTLiquid::IsValidTargetObject ( vector playerPos,
vector objectPosition,
EWaterSourceObjectType waterSourceType,
ELiquidSourceObjectType liquidSourceType,
bool isProxy )
inlineprotected

Early exit for invalid types

Check if position is valid

Single distance calculation

Check vertical distance

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

162 {
164 if ((waterSourceType == EWaterSourceObjectType.NONE && liquidSourceType == ELiquidSourceObjectType.NONE) || isProxy)
165 return false;
166
168 if (IsNearlyZero(objectPosition))
169 return false;
170
172 if (vector.Distance(playerPos, objectPosition) > m_MaxActionDistance)
173 return false;
174
176 float heightDiff = Math.AbsFloat(objectPosition[1] - playerPos[1]);
177 return heightDiff <= m_MaxVerticalReach;
178 }
ELiquidSourceObjectType
Определения ELiquidSourceObjectType.c:2
EWaterSourceObjectType
Определения EWaterSourceObjectType.c:2
bool IsNearlyZero(vector value)
Определения CCTLiquid.c:1024
float m_MaxVerticalReach
Определения CCTLiquid.c:22
float m_MaxActionDistance
Определения CCTLiquid.c:23

Перекрестные ссылки Math::AbsFloat(), vector::Distance(), IsNearlyZero(), m_MaxActionDistance и m_MaxVerticalReach.

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