163 {
165 action_data.m_Action = this;
166 action_data.m_Player = player;
167 action_data.m_Target = target;
168 action_data.m_MainItem = item;
170 action_data.m_ReservedInventoryLocations = new array<ref InventoryLocation>;
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 {
180
182 {
183 if ( player.GetItemInHands() != action_data.m_MainItem )
184 {
185 return false;
186 }
187 }
188 }
189
191 return false;
192
194 {
196 {
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 }
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()