282 {
283 if( action_data.m_ReciveEndInput )
284 {
286 return;
287 }
288 super.OnStageStart(action_data);
289 Weapon_Base wpn;
290 Magazine mag;
291
292 AdvDetachMagActionData action_data_dm = AdvDetachMagActionData.Cast(action_data);
293
295 {
296 case 0:
297 action_data.m_Player.GetWeaponManager().DetachMagazine(action_data_dm.m_ilMagazine,this);
298 break;
299
300 case 1:
301 if ( !action_data_dm.m_ilWeapon.IsValid() )
302 {
304 break;
305 }
306
307 wpn = Weapon_Base.Cast(action_data.m_MainItem);
308 mag = Magazine.Cast(action_data.m_Target.GetObject());
309
310 action_data.m_Player.GetHumanInventory().ClearUserReservedLocation(wpn);
311 if ( ( !
GetGame().IsDedicatedServer() ) && !mag.GetHierarchyParent() )
312 {
314
315 if ( action_data.m_Player.NeedInventoryJunctureFromServer(mag, action_data.m_Player, action_data.m_Player) || action_data.m_Player.NeedInventoryJunctureFromServer(wpn, action_data.m_Player, action_data.m_Player) )
317
318 action_data.m_Player.GetInventory().ForceSwapEntities(invMode, mag, wpn, action_data_dm.m_ilWeapon);
319 }
320
322 break;
323 default:
325 break;
326 }
327 }
InventoryMode
NOTE: PREDICTIVE is not to be used at all in multiplayer.
proto static native void End()
Finalizes the testing process.
proto native CGame GetGame()