DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionResetCodeOnCodeLock..c
См. документацию.
2{
3 protected const string SELECTION_FRONT = "front";
4
5 override void CreateConditionComponents()
6 {
9
10 m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_ATTACHITEM;
11 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT | DayZPlayerConstants.STANCEMASK_CROUCH;
12 m_Text = "#STR_RESET_CODE";
13 }
14
15 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
16 {
17 if (!super.ActionCondition(player, target, item))
18 return false;
19
20 DigitalCodeLock codeLock = DigitalCodeLock.Cast(target.GetObject());
21 if ((!codeLock || (codeLock && !codeLock.GetCompEM().IsWorking())))
22 return false;
23
24 bool isFacingBackside = codeLock.IsPlayerOnBackside(player);
25
26 if (!codeLock.HasPIN() || codeLock.IsLocked() || isFacingBackside)
27 return false;
28
29 return true;
30 }
31
32 override void OnExecuteServer(ActionData action_data)
33 {
34 DigitalCodeLock codeLock = DigitalCodeLock.Cast(action_data.m_Target.GetObject());
35 if (!codeLock)
36 return;
37
38 codeLock.ResetPIN();
39 }
40
41 override void OnExecuteClient(ActionData action_data)
42 {
43 DigitalCodeLock codeLock = DigitalCodeLock.Cast(action_data.m_Target.GetObject());
44 if (!codeLock)
45 return;
46
47 #ifndef NO_GUI
48 DigitalCodeLockUIBase codeLockUI = DigitalCodeLockUIBase.Cast(GetGame().GetUIManager().EnterScriptedMenu(MENU_DIGITAL_CODELOCK, null));
49 codeLockUI.SetTargetLock(codeLock.GetCodeLockComponent());
50 #endif
51 }
52
54 override void OnExecute(ActionData action_data)
55 {
56 if (!GetGame().IsServer() && GetGame().IsMultiplayer())
57 return;
58
59 DigitalCodeLock codeLock = DigitalCodeLock.Cast(action_data.m_Target.GetObject());
60 if (!codeLock)
61 return;
62
63 #ifndef NO_GUI
64 DigitalCodeLockUIBase codeLockUI = DigitalCodeLockUIBase.Cast(GetGame().GetUIManager().EnterScriptedMenu(MENU_DIGITAL_CODELOCK, null));
65 codeLockUI.SetTargetLock(codeLock.GetCodeLockComponent());
66 #endif
67 }
68
69 override bool CanBeSetFromInventory()
70 {
71 return false;
72 }
73}
string m_Text
Определения ActionBase.c:57
ref CCIBase m_ConditionItem
Определения ActionBase.c:63
ref CCTBase m_ConditionTarget
Определения ActionBase.c:64
int m_StanceMask
Определения ActionBase.c:61
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
Определения ActionTargets.c:125
ref ActionTarget m_Target
Определения ActionBase.c:39
Определения ActionBase.c:22
void ActionInteractBase()
Определения ActionInteractBase.c:43
override void OnExecute(ActionData action_data)
Only handles single player/offline handling.
Определения ActionResetCodeOnCodeLock..c:54
override void CreateConditionComponents()
Определения ActionResetCodeOnCodeLock..c:5
const string SELECTION_FRONT
Определения ActionResetCodeOnCodeLock..c:3
override void OnExecuteClient(ActionData action_data)
Определения ActionResetCodeOnCodeLock..c:41
override bool CanBeSetFromInventory()
Определения ActionResetCodeOnCodeLock..c:69
override void OnExecuteServer(ActionData action_data)
Определения ActionResetCodeOnCodeLock..c:32
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionResetCodeOnCodeLock..c:15
int m_CommandUID
Определения AnimatedActionBase.c:147
Определения CCINone.c:2
Определения CCTNonRuined.c:2
CodeLockComponent GetCodeLockComponent()
Определения CodeLock.c:368
bool HasPIN()
Определения CodeLock.c:343
void ResetPIN()
Определения CodeLock.c:358
bool IsPlayerOnBackside(PlayerBase player)
Определения CodeLock.c:410
bool IsLocked()
Определения CodeLock.c:373
Определения CodeLock.c:2
void SetTargetLock(CodeLockComponent lock)
Определения PlayerBaseClient.c:2
const float DEFAULT
Определения ActionConstants.c:114
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
DayZGame GetGame()
Определения gameplay.c:636
const int MENU_DIGITAL_CODELOCK
Определения 3_Game/DayZ/constants.c:222