DayZ 1.29
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 строка 162

163 {
164 action_data = CreateActionData();
165 action_data.m_Action = this;
166 action_data.m_Player = player;
167 action_data.m_Target = target;
168 action_data.m_MainItem = item;
169 action_data.m_PossibleStanceMask = GetStanceMask(player);
170 action_data.m_ReservedInventoryLocations = new array<ref InventoryLocation>;
171 action_data.m_RefreshReservationTimer = m_RefreshReservationTimerValue;
172 action_data.m_WasExecuted = false;
173 action_data.m_WasActionStarted = false;
174 action_data.m_ReciveEndInput = false;
175
176 ActionReciveData action_recive_data = player.GetActionManager().GetReciveData();
177 if ( action_recive_data )
178 {
179 HandleReciveData(action_recive_data,action_data);
180
182 {
183 if ( player.GetItemInHands() != action_data.m_MainItem )
184 {
185 return false;
186 }
187 }
188 }
189
190 if ( !Post_SetupAction( action_data ) )
191 return false;
192
193 if ( !g_Game.IsDedicatedServer() && !IsInstant() )
194 {
195 if (!InventoryReservation(action_data))
196 {
197 ClearInventoryReservationEx(action_data);
198 return false;
199 }
200
201 if ( LogManager.IsActionLogEnable() )
202 {
203 for ( int i = 0; i < action_data.m_ReservedInventoryLocations.Count(); i++)
204 {
205 Debug.ActionLog( InventoryLocation.DumpToStringNullSafe( action_data.m_ReservedInventoryLocations[i] ), action_data.m_Action.ToString() , "n/a", "LockInventoryList", action_data.m_Player.ToString() );
206 }
207 }
208 }
209
210 return true;
211 }
string Debug()
Определения CachedEquipmentStorageBase.c:29
DayZGame g_Game
Определения DayZGame.c:3942
int GetStanceMask()
Определения PluginDayzPlayerDebug.c:76
ActionData CreateActionData()
Определения ActionBase.c:231
int m_RefreshReservationTimerValue
Определения ActionBase.c:61
bool InventoryReservation(ActionData action_data)
Определения ActionBase.c:979
bool IsInstant()
Определения ActionBase.c:268
bool Post_SetupAction(ActionData action_data)
Определения ActionBase.c:213
void ClearInventoryReservationEx(ActionData action_data)
Определения ActionBase.c:1040
bool UseMainItem()
Определения ActionBase.c:391
void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
Определения ActionBase.c:571
bool MainItemAlwaysInHands()
Определения ActionBase.c:396

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

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