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

◆ SetupAction()

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

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

164 {
165#ifdef ENABLE_LOGGING
167 {
168 Debug.ActionLog("STS = " + player.GetSimulationTimeStamp(), this.ToString() , "n/a", "SetupAction", player.ToString() );
169 }
170#endif
171 action_data = CreateActionData();
172 action_data.m_Action = this;
173 action_data.m_Player = player;
174 action_data.m_Target = target;
175 action_data.m_MainItem = item;
176 action_data.m_PossibleStanceMask = GetStanceMask(player);
177 action_data.m_ReservedInventoryLocations = new array<ref InventoryLocation>;
178 action_data.m_RefreshReservationTimer = m_RefreshReservationTimerValue;
179 action_data.m_WasExecuted = false;
180 action_data.m_WasActionStarted = false;
181 action_data.m_ReciveEndInput = false;
182
183 ActionReciveData action_recive_data = player.GetActionManager().GetReciveData();
184 if ( action_recive_data )
185 {
186 HandleReciveData(action_recive_data,action_data);
187
189 {
190 if ( player.GetItemInHands() != action_data.m_MainItem )
191 {
192 return false;
193 }
194 }
195 }
196
197 if ( !Post_SetupAction( action_data ) )
198 return false;
199
200 // Execute on client/offline client only and check if action is not instand
201 if ( !g_Game.IsDedicatedServer() && !IsInstant() )
202 {
203 if (!InventoryReservation(action_data))
204 {
205 ClearInventoryReservationEx(action_data);
206 return false;
207 }
208#ifdef ENABLE_LOGGING
210 {
211 for ( int i = 0; i < action_data.m_ReservedInventoryLocations.Count(); i++)
212 {
213 Debug.ActionLog( InventoryLocation.DumpToStringNullSafe( action_data.m_ReservedInventoryLocations[i] ), action_data.m_Action.ToString() , "n/a", "LockInventoryList", action_data.m_Player.ToString() );
214 }
215 }
216#endif
217 }
218
219 return true;
220 }
ActionData CreateActionData()
Определения ActionBase.c:240
bool InventoryReservation(ActionData action_data)
Определения ActionBase.c:1053
class ActionData m_RefreshReservationTimerValue
bool MainItemAlwaysInHands()
Определения ActionBase.c:422
void ClearInventoryReservationEx(ActionData action_data)
Определения ActionBase.c:1120
bool UseMainItem()
Определения ActionBase.c:417
void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
Определения ActionBase.c:603
bool IsInstant()
Определения ActionBase.c:294
bool Post_SetupAction(ActionData action_data)
Определения ActionBase.c:222
DayZGame g_Game
Определения DayZGame.c:4074
int GetStanceMask()
Определения PluginDayzPlayerDebug.c:76
static void ActionLog(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
Определения 3_Game/DayZ/tools/Debug.c:188
Определения 3_Game/DayZ/tools/Debug.c:2
static string DumpToStringNullSafe(InventoryLocation loc)
Определения InventoryLocation.c:233
InventoryLocation.
Определения InventoryLocation.c:30
static bool IsActionLogEnable()
Определения 3_Game/DayZ/tools/Debug.c:749
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
static proto string ToString(void var, bool type=false, bool name=false, bool quotes=true)
Return string representation of variable.

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