412 {
413 if( w == null )
414 {
415 return;
416 }
417 ItemPreviewWidget iw = ItemPreviewWidget.Cast( w.FindAnyWidget("Render") );
418 if(!iw)
419 {
420 string name = w.GetName();
421 name.Replace(
"PanelWidget",
"Render");
422 iw = ItemPreviewWidget.Cast( w.FindAnyWidget(
name) );
423 }
424 if(!iw)
425 {
426 iw = ItemPreviewWidget.Cast( w );
427 }
428
430 {
431 return;
432 }
433
436 name = receiver.GetName();
437 name.Replace(
"PanelWidget",
"Render");
438 ItemPreviewWidget receiver_iw = ItemPreviewWidget.Cast( receiver.FindAnyWidget(
name) );
439 if(receiver_iw)
441
442 SlotsIcon slots_icon;
443 receiver.GetUserData(slots_icon);
444
445 if( receiver_item )
446 {
447 int stack_max = InventorySlots.GetStackMaxForSlotId( receiver_item.GetInventory().GetSlotId(0) );
448
449
451 {
452 ItemManager.GetInstance().HideDropzones();
453 ItemManager.GetInstance().GetLeftDropzone().SetAlpha( 1 );
454 ColorManager.GetInstance().SetColor( w, ColorManager.COMBINE_COLOR );
455 }
456 else if( stack_max == 0 && GameInventory.CanSwapEntitiesEx( receiver_item, iw.
GetItem() ) )
457 {
458 ItemManager.GetInstance().HideDropzones();
459 ItemManager.GetInstance().GetLeftDropzone().SetAlpha( 1 );
460 ColorManager.GetInstance().SetColor( w, ColorManager.SWAP_COLOR );
461 }
462 else
463 {
464 ItemManager.GetInstance().ShowSourceDropzone( iw.
GetItem() );
465 ColorManager.GetInstance().SetColor( w, ColorManager.RED_COLOR );
466 }
467 }
468 else if( slots_icon && slots_icon.
GetSlotID() != -1 )
469 {
471
473 {
474 ItemManager.GetInstance().HideDropzones();
475 ItemManager.GetInstance().GetLeftDropzone().SetAlpha( 1 );
476 ColorManager.GetInstance().SetColor( w, ColorManager.GREEN_COLOR );
477 }
478 else
479 {
480 ItemManager.GetInstance().ShowSourceDropzone( iw.
GetItem() );
481 ColorManager.GetInstance().SetColor( w, ColorManager.RED_COLOR );
482 }
483 }
484 else
485 {
486 ItemManager.GetInstance().ShowSourceDropzone( iw.
GetItem() );
487 ColorManager.GetInstance().SetColor( w, ColorManager.RED_COLOR );
488 }
489 }
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
class GP5GasMask extends MaskBase ItemBase
proto native GameInventory GetInventory()
proto native bool CanAddAttachmentEx(notnull EntityAI e, int slot)
Check if attachment can be added to slot @NOTE: Note that slot index IS NOT slot ID!...
override bool CanBeCombined(EntityAI other_item, bool reservation_check=true, bool stack_max_limit=false)