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

◆ ActionCondition()

override bool ActionInteractCodeLockItem::ActionCondition ( PlayerBase player,
ActionTarget target,
ItemBase item )
inlineprivate

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

98 {
99 if (!super.ActionCondition(player, target, item))
100 return false;
101
102 bool isFacingBackside = false;
103 DigitalCodeLock codeLock = DigitalCodeLock.Cast(target.GetObject());
104 if (!codeLock || (codeLock && !codeLock.HasEnergy()))
105 return false;
106
107 if (!g_Game.IsDedicatedServer())
108 {
109 if (!codeLock.GetHierarchyRoot())
110 return false;
111
112 isFacingBackside = codeLock.IsPlayerOnBackside(player);
113
114 if (codeLock.HasPIN())
115 {
116 if (!codeLock.IsLocked() && codeLock.CanBeLocked())
117 {
118 m_Text = "#STR_LOCK_CODELOCK";
119 return true;
120 }
121
122 if (codeLock.IsLocked() && codeLock.CanBeUnlocked())
123 {
124 if (!isFacingBackside && !codeLock.HasBruteForceProtection())
125 {
126 m_Text = "#STR_ENTER_CODE";
127 return true;
128 }
129 else if (isFacingBackside)
130 {
131 m_Text = "#STR_UNLOCK_CODELOCK";
132 return true;
133 }
134 }
135 }
136 else
137 {
138 if (!isFacingBackside && codeLock.CanSetCode())
139 {
140 m_Text = "#STR_SET_CODE";
141 return true;
142 }
143 }
144 }
145 else
146 {
147 return true;
148 }
149
150 return false;
151 }
string m_Text
Определения ActionBase.c:57
void DigitalCodeLock()
Определения CodeLock.c:590
DayZGame g_Game
Определения DayZGame.c:4074
bool HasBruteForceProtection()
Определения CodeLock.c:383
bool HasPIN()
Определения CodeLock.c:343
bool IsPlayerOnBackside(PlayerBase player)
Определения CodeLock.c:410
bool CanBeLocked()
Определения CodeLock.c:313
bool HasEnergy()
Определения CodeLock.c:338
bool CanSetCode()
Определения CodeLock.c:323
bool CanBeUnlocked()
Определения CodeLock.c:318
bool IsLocked()
Определения CodeLock.c:373

Перекрестные ссылки ActionTarget(), DigitalCodeLock::CanBeLocked(), DigitalCodeLock::CanBeUnlocked(), DigitalCodeLock::CanSetCode(), g_Game, DigitalCodeLock::HasBruteForceProtection(), DigitalCodeLock::HasEnergy(), DigitalCodeLock::HasPIN(), DigitalCodeLock::IsLocked(), DigitalCodeLock::IsPlayerOnBackside() и m_Text.