DayZ 1.30
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 BuildingBase building;
37 if (Class.CastTo(building, target.GetObject()))
38 {
39 DoorManipulationParams doorParams = new DoorManipulationParams();
40 doorParams.m_DoorIndex = building.GetDoorIndex(target.GetComponentIndex());
41 if (doorParams.m_DoorIndex != -1)
42 {
43 if (!IsInReach(player, target, UAMaxDistances.DEFAULT))
44 return false;
45
46 if (!building.DoorsDirectionalCheck(player,target.GetComponentIndex()))
47 return false;
48
50 doorParams.m_Caller = player;
51
52 return building.CanDoorBeOpened(doorParams);
53 }
54 }
55
56 return false;
57 }
void BuildingBase()
bool IsInReach(PlayerBase player, ActionTarget target, float maxDistance=1.0)
Определения ActionBase.c:1290
bool IsBuilding(ActionTarget target)
Определения ActionBase.c:1280
bool CheckIfDoorIsLocked()
Определения ActionOpenDoors.c:18

Перекрестные ссылки ActionTarget(), BuildingBase(), Class::CastTo(), CheckIfDoorIsLocked(), UAMaxDistances::DEFAULT, IsBuilding(), IsInReach(), DoorManipulationParams::m_Caller, DoorManipulationParams::m_CheckIfLocked и DoorManipulationParams::m_DoorIndex.