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

◆ HasClearPathToLiquidSurface()

bool CCTLiquid::HasClearPathToLiquidSurface ( PlayerBase player,
vector surfacePos )
inlineprotected

Something solid is between player and the liquid point.

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

251 {
252 vector rayStart;
253 MiscGameplayFunctions.GetHeadBonePos(player, rayStart);
254 RaycastRVParams rayInput = new RaycastRVParams(rayStart, surfacePos, player);
255 rayInput.flags = CollisionFlags.FIRSTCONTACT;
256 rayInput.type = ObjIntersectFire;
257 rayInput.sorted = true;
258 rayInput.ignore = player;
259
260 array<ref RaycastRVResult> results = new array<ref RaycastRVResult>();
261 if (!DayZPhysics.RaycastRVProxy(rayInput, results))
262 return true;
263
264 float surfaceDist = vector.Distance(rayStart, surfacePos);
265 foreach (RaycastRVResult result : results)
266 {
267 if (!result)
268 continue;
269
270 Object hitObj = result.obj;
271 if (!hitObj)
272 continue;
273
274 float hitDist = vector.Distance(rayStart, result.pos);
276 if (hitDist < surfaceDist)
277 return false;
278 }
279
280 return true;
281 }
bool sorted
used only if groundOnly = false
Определения DayZPhysics.c:75
int type
Определения DayZPhysics.c:73
Object ignore
ignore this object in collision, used only if groundOnly is false
Определения DayZPhysics.c:54
CollisionFlags flags
Определения DayZPhysics.c:63
class LOD Object
CollisionFlags
Определения EnDebug.c:141

Перекрестные ссылки vector::Distance(), RaycastRVParams::flags, RaycastRVParams::ignore, DayZPhysics::RaycastRVProxy(), RaycastRVParams::sorted и RaycastRVParams::type.

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