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

◆ ActionCondition()

override bool ActionOpenDoors::ActionCondition ( PlayerBase player,
ActionTarget target,
ItemBase item )
inlineprotected

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

29 {
30 if (!target)
31 return false;
32
33 if (!IsBuilding(target))
34 return false;
35
36 Building building;
37 if (Class.CastTo(building, target.GetObject()))
38 {
39 int doorIndex = building.GetDoorIndex(target.GetComponentIndex());
40 if (doorIndex != -1)
41 {
42 if (!IsInReach(player, target, UAMaxDistances.DEFAULT))
43 return false;
44
45 return building.CanDoorBeOpened(doorIndex, CheckIfDoorIsLocked());
46
47 }
48 }
49
50 return false;
51 }
bool IsInReach(PlayerBase player, ActionTarget target, float maxDistance=1.0)
Определения ActionBase.c:1181
bool IsBuilding(ActionTarget target)
Определения ActionBase.c:1171
bool CheckIfDoorIsLocked()
Определения ActionOpenDoors.c:18
bool CanDoorBeOpened(int doorIndex, bool checkIfLocked=false)
proto native int GetDoorIndex(int componentIndex)
Gets the index of the door based on the view geometry component index.

Перекрестные ссылки ActionTarget, Building::CanDoorBeOpened(), Class::CastTo(), CheckIfDoorIsLocked(), UAMaxDistances::DEFAULT, Building::GetDoorIndex(), ActionBase::IsBuilding() и ActionBase::IsInReach().