222 {
223 string name = receiver.GetName();
224 name.Replace(
"PanelWidget",
"Render");
225 ItemPreviewWidget receiver_iw = ItemPreviewWidget.Cast( receiver.FindAnyWidget(
name) );
227
228 ItemPreviewWidget ipw = ItemPreviewWidget.Cast( w.FindAnyWidget( "Render" ) );
229 if ( !ipw )
230 {
232 name.Replace(
"PanelWidget",
"Render" );
233 ipw = ItemPreviewWidget.Cast( w.FindAnyWidget(
name ) );
234 }
235
237 {
238 return;
239 }
240
242 bool equal_typed = item.GetType() == receiver_item.GetType();
243 if ( !receiver_item.IsInherited(
ItemBase ) || item == null )
244 {
245 return;
246 }
247
248 PlayerBase player = PlayerBase.Cast(
g_Game.GetPlayer() );
249
250 if ( !item.GetInventory().CanRemoveEntity() )
251 return;
252
253 if ( (
ItemBase.Cast( receiver_item ) ).CanBeCombined(
ItemBase.Cast( item ) ) )
254 {
255 (
ItemBase.Cast( receiver_item ) ).CombineItemsClient(
ItemBase.Cast( item ) );
256 }
257 else if( GameInventory.CanSwapEntitiesEx( receiver_item, item ) )
258 {
259 InventoryLocation il1 = new InventoryLocation;
260 InventoryLocation il2 = new InventoryLocation;
261 receiver_item.GetInventory().GetCurrentInventoryLocation( il1 );
262 item.GetInventory().GetCurrentInventoryLocation( il2 );
263
265 return;
266 player.PredictiveSwapEntities( item, receiver_item );
267 }
268
269 ItemManager.GetInstance().HideDropzones();
270 ItemManager.GetInstance().SetIsDragging( false );
271 PrepareOwnedTooltip(item);
272
274 if ( menu )
275 {
276 menu.RefreshQuickbar();
277 }
278 }
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
class GP5GasMask extends MaskBase ItemBase
InventoryLocationType
types of Inventory Location
proto native int GetType()
returns type of InventoryLocation