157 {
159 action_data.m_Action = this;
160 action_data.m_Player = player;
161 action_data.m_Target = target;
162 action_data.m_MainItem = item;
164 action_data.m_ReservedInventoryLocations = new array<ref InventoryLocation>;
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 {
174
176 {
177 if ( player.GetItemInHands() != action_data.m_MainItem )
178 {
179 return false;
180 }
181 }
182 }
183
185 return false;
186
188 {
190 {
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 }
ActionData CreateActionData()
int m_RefreshReservationTimerValue
bool InventoryReservation(ActionData action_data)
bool Post_SetupAction(ActionData action_data)
void ClearInventoryReservationEx(ActionData action_data)
void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
bool MainItemAlwaysInHands()
proto native CGame GetGame()