DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionNextCombinationLockDialOnTarget.c
См. документацию.
2{
4 {
5 m_Text = "#next_combination_lock_dial";
6 }
7
13
14 override bool IsInstant()
15 {
16 return true;
17 }
18
19 override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
20 {
21 if (!target.GetObject())
22 return false;
23
24 CombinationLock lock = CombinationLock.Cast(target.GetObject());
25 if (!lock)
26 return false;
27
28 EntityAI parent = lock.GetHierarchyParent();
29 if (!parent)
30 return false;
31
32 int facingSide = lock.GetLockSideByComponentIndex(target.GetComponentIndex());
33 if (facingSide == -1)
34 return false;
35
36 if (parent.CanUseConstruction())
37 {
38 ConstructionActionData constructionActionData = player.GetConstructionActionData();
39 constructionActionData.SetCombinationLock(lock);
40 constructionActionData.SetCombinationLockSide(facingSide);
41 return true;
42 }
43
44 return false;
45 }
46
47 override void Start(ActionData action_data)
48 {
49 super.Start(action_data);
50
51 //set next dial
52 ConstructionActionData constructionActionData = action_data.m_Player.GetConstructionActionData();
53 CombinationLock combinationLock = constructionActionData.GetCombinationLock();
54 int lockSide = constructionActionData.GetCombinationLockSide();
55 if (combinationLock && lockSide != -1)
56 {
57 combinationLock.SetNextDial(lockSide);
58 }
59 }
60}
string m_Text
Определения ActionBase.c:57
ref CCIBase m_ConditionItem
Определения ActionBase.c:63
ref CCTBase m_ConditionTarget
Определения ActionBase.c:64
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
Определения ActionTargets.c:125
PlayerBase m_Player
Определения ActionBase.c:40
Определения ActionBase.c:22
void ActionInteractBase()
Определения ActionInteractBase.c:43
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
override void Start(ActionData action_data)
Определения CCINone.c:2
Определения CCTNonRuined.c:2
void SetCombinationLock(CombinationLock combination_lock)
Определения ConstructionActionData.c:401
CombinationLock GetCombinationLock()
Определения ConstructionActionData.c:396
int GetCombinationLockSide()
Определения ConstructionActionData.c:461
void SetCombinationLockSide(int lockSide)
Определения ConstructionActionData.c:456
Определения PlayerBaseClient.c:2
const float DEFAULT
Определения ActionConstants.c:114