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

◆ CheckWaterContact()

void CheckWaterContact ( out float pWaterLevel)
protected

Checks player's contanct with water.

Аргументы
[out]pWaterLevelwater level height
Возвращает
Nothing

no valid surface under character

sync info about water contact to player

update active surface

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

422 {
423 string surfType;
424 int liquidType;
425
426 m_IsInWater = false;
427
428 if (m_Player.PhysicsGetLinkedEntity() || IsChildOfType({Transport}))
429 {
430 m_Player.SetInWater(m_IsInWater);
431 return;
432 }
433
434 if (m_Player.IsSwimming())
435 {
436 g_Game.SurfaceUnderObjectByBoneCorrectedLiquid(m_Player, SurfaceAnimationBone.RightFrontLimb, surfType, liquidType);
437 m_SurfaceType = surfType;
438 m_LiquidType = liquidType;
439
440 m_IsInWater = true;
441 m_Player.SetInWater(m_IsInWater);
442
444 m_Player.GetMovementState(hms);
445
446 pWaterLevel = WATER_LEVEL_MID;
447 if (hms.m_iMovement >= DayZPlayerConstants.MOVEMENTIDX_WALK)
448 pWaterLevel = WATER_LEVEL_HIGH;
449
450 return;
451 }
452
455 {
456 m_IsInWater = false;
457 return;
458 }
459
460 string impact;
461 g_Game.SurfaceUnderObjectExCorrectedLiquid(m_Player, surfType, impact, liquidType);
462
463 switch (liquidType)
464 {
465 case LIQUID_SALTWATER:
466 case LIQUID_WATER:
470 case LIQUID_HOTWATER:
471 pWaterLevel = m_Player.GetCurrentWaterLevel();
472 m_IsInWater = true;
473 break;
474 }
475
477 m_Player.SetInWater(m_IsInWater);
478
480 m_SurfaceType = surfType;
481 m_LiquidType = liquidType;
482
483 }
map m_Player
DayZGame g_Game
Определения DayZGame.c:3942
bool m_IsInWater
Определения Environment.c:70
bool IsChildOfType(array< typename > typenames)
Returns true if character is child of given parent type(s)
Определения Environment.c:330
const float WATER_LEVEL_MID
Определения Environment.c:34
int m_LiquidType
Определения Environment.c:61
const float WATER_LEVEL_HIGH
Определения Environment.c:33
string m_SurfaceType
Определения Environment.c:60
bool IsUnderRoofBuilding()
Is character under building's roof (periodically checked - GameConstants.ENVIRO_TICK_ROOF_RC_CHECK)....
Определения Environment.c:343
int m_iMovement
current stance (DayZPlayerConstants.STANCEIDX_ERECT, ...), only if the command has a stance
Определения human.c:1157
Определения human.c:1154
Native class for boats - handles physics simulation.
Определения Boat.c:32
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
const int LIQUID_STILLWATER
Определения 3_Game/DayZ/constants.c:555
const int LIQUID_HOTWATER
Определения 3_Game/DayZ/constants.c:556
const int LIQUID_FRESHWATER
Определения 3_Game/DayZ/constants.c:554
const int LIQUID_WATER
Определения 3_Game/DayZ/constants.c:544
const int LIQUID_RIVERWATER
Определения 3_Game/DayZ/constants.c:545
const int LIQUID_SALTWATER
Определения 3_Game/DayZ/constants.c:553

Перекрестные ссылки g_Game, IsChildOfType(), IsUnderRoofBuilding(), LIQUID_FRESHWATER, LIQUID_HOTWATER, LIQUID_RIVERWATER, LIQUID_SALTWATER, LIQUID_STILLWATER, LIQUID_WATER, HumanMovementState::m_iMovement, m_IsInWater, m_LiquidType, m_SurfaceType, WATER_LEVEL_HIGH и WATER_LEVEL_MID.

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