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

◆ IsCursorActuallyOnLiquidSurface()

bool CCTLiquid::IsCursorActuallyOnLiquidSurface ( vector hitPosition,
vector liquidSurfacePos )
inlineprotected

If terrain/grass/road surface is higher, the player is aiming at ground over/near water, not the water itself.

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

983 {
984 if (IsNearlyZero(hitPosition))
985 return false;
986
987 if (IsNearlyZero(liquidSurfacePos))
988 return false;
989
990 if (hitPosition[1] >= liquidSurfacePos[1])
991 return false;
992
993 vector nonWaterSurfacePos;
994 if (TryGetNonWaterSurfaceAt(hitPosition, nonWaterSurfacePos))
995 {
997 if (nonWaterSurfacePos[1] > liquidSurfacePos[1])
998 return false;
999 }
1000
1001 return true;
1002 }
bool IsNearlyZero(vector value)
Определения CCTLiquid.c:1024
bool TryGetNonWaterSurfaceAt(vector probePosition, out vector surfacePosition)
Определения CCTLiquid.c:950

Перекрестные ссылки IsNearlyZero() и TryGetNonWaterSurfaceAt().

Используется в CheckSurfaceLiquid() и TryValidateHitCursor().