DayZ 1.28
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 return;
430
431 if (m_Player.IsSwimming())
432 {
433 g_Game.SurfaceUnderObjectByBoneCorrectedLiquid(m_Player, SurfaceAnimationBone.RightFrontLimb, surfType, liquidType);
434 m_SurfaceType = surfType;
435 m_LiquidType = liquidType;
436
437 m_IsInWater = true;
438 m_Player.SetInWater(m_IsInWater);
439
441 m_Player.GetMovementState(hms);
442
443 pWaterLevel = WATER_LEVEL_MID;
444 if (hms.m_iMovement >= DayZPlayerConstants.MOVEMENTIDX_WALK)
445 pWaterLevel = WATER_LEVEL_HIGH;
446
447 return;
448 }
449
452 {
453 m_IsInWater = false;
454 return;
455 }
456
457 string impact;
458 g_Game.SurfaceUnderObjectExCorrectedLiquid(m_Player, surfType, impact, liquidType);
459
460 switch (liquidType)
461 {
462 case LIQUID_SALTWATER:
463 case LIQUID_WATER:
467 case LIQUID_HOTWATER:
468 pWaterLevel = m_Player.GetCurrentWaterLevel();
469 m_IsInWater = true;
470 break;
471 }
472
474 m_Player.SetInWater(m_IsInWater);
475
477 m_SurfaceType = surfType;
478 m_LiquidType = liquidType;
479
480 }
DayZGame g_Game
Определения DayZGame.c:3868
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
DayZPlayer m_Player
Определения Hand_Events.c:42
int m_iMovement
current stance (DayZPlayerConstants.STANCEIDX_ERECT, ...), only if the command has a stance
Определения human.c:1155
Определения human.c:1152
Native class for boats - handles physics simulation.
Определения Boat.c:28
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
const int LIQUID_STILLWATER
Определения 3_Game/constants.c:552
const int LIQUID_HOTWATER
Определения 3_Game/constants.c:553
const int LIQUID_FRESHWATER
Определения 3_Game/constants.c:551
const int LIQUID_WATER
Определения 3_Game/constants.c:541
const int LIQUID_RIVERWATER
Определения 3_Game/constants.c:542
const int LIQUID_SALTWATER
Определения 3_Game/constants.c:550

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

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