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

◆ SetupAction()

bool ActionBase::SetupAction ( PlayerBase player,
ActionTarget target,
ItemBase item,
out ActionData action_data,
Param extra_data = NULL )
inlineprotected

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

157 {
158 action_data = CreateActionData();
159 action_data.m_Action = this;
160 action_data.m_Player = player;
161 action_data.m_Target = target;
162 action_data.m_MainItem = item;
163 action_data.m_PossibleStanceMask = GetStanceMask(player);
164 action_data.m_ReservedInventoryLocations = new array<ref InventoryLocation>;
165 action_data.m_RefreshReservationTimer = m_RefreshReservationTimerValue;
166 action_data.m_WasExecuted = false;
167 action_data.m_WasActionStarted = false;
168 action_data.m_ReciveEndInput = false;
169
170 ActionReciveData action_recive_data = player.GetActionManager().GetReciveData();
171 if ( action_recive_data )
172 {
173 HandleReciveData(action_recive_data,action_data);
174
176 {
177 if ( player.GetItemInHands() != action_data.m_MainItem )
178 {
179 return false;
180 }
181 }
182 }
183
184 if ( !Post_SetupAction( action_data ) )
185 return false;
186
187 if ( (!GetGame().IsDedicatedServer()) && !IsInstant() )
188 {
189 if (!InventoryReservation(action_data))
190 {
191 ClearInventoryReservationEx(action_data);
192 return false;
193 }
194
195 if ( LogManager.IsActionLogEnable() )
196 {
197 for ( int i = 0; i < action_data.m_ReservedInventoryLocations.Count(); i++)
198 {
199 Debug.ActionLog( InventoryLocation.DumpToStringNullSafe( action_data.m_ReservedInventoryLocations[i] ), action_data.m_Action.ToString() , "n/a", "LockInventoryList", action_data.m_Player.ToString() );
200 }
201 }
202 }
203
204 return true;
205 }
int GetStanceMask()
Определения PluginDayzPlayerDebug.c:76
void Debug()
Определения UniversalTemperatureSource.c:349
ActionData CreateActionData()
Определения ActionBase.c:225
int m_RefreshReservationTimerValue
Определения ActionBase.c:55
bool InventoryReservation(ActionData action_data)
Определения ActionBase.c:967
bool IsInstant()
Определения ActionBase.c:262
bool Post_SetupAction(ActionData action_data)
Определения ActionBase.c:207
void ClearInventoryReservationEx(ActionData action_data)
Определения ActionBase.c:1025
bool UseMainItem()
Определения ActionBase.c:379
void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
Определения ActionBase.c:559
bool MainItemAlwaysInHands()
Определения ActionBase.c:384
proto native CGame GetGame()

Перекрестные ссылки ActionData, Debug::ActionLog(), ActionTarget, ClearInventoryReservationEx(), CreateActionData(), InventoryLocation::DumpToStringNullSafe(), GetGame(), GetStanceMask(), HandleReciveData(), InventoryReservation(), LogManager::IsActionLogEnable(), IsInstant(), m_RefreshReservationTimerValue, MainItemAlwaysInHands(), Post_SetupAction(), string::ToString() и UseMainItem().

Используется в ActionManagerClient::ActionStart() и ActionManagerClient::PerformActionStart().