413 {
414 if (w == null)
415 {
416 return;
417 }
418 ItemPreviewWidget iw = ItemPreviewWidget.Cast(w.FindAnyWidget("Render"));
419 if (!iw)
420 {
421 string name = w.GetName();
422 name.Replace(
"PanelWidget",
"Render");
423 iw = ItemPreviewWidget.Cast(w.FindAnyWidget(
name));
424 }
425 if (!iw)
426 {
427 iw = ItemPreviewWidget.Cast(w);
428 }
429
431 {
432 return;
433 }
434
437 name = receiver.GetName();
438 name.Replace(
"PanelWidget",
"Render");
439 ItemPreviewWidget receiver_iw = ItemPreviewWidget.Cast(receiver.FindAnyWidget(
name));
440 if (receiver_iw)
442
443 SlotsIcon slots_icon;
444 receiver.GetUserData(slots_icon);
445
446 if (receiver_item)
447 {
448 int stack_max = InventorySlots.GetStackMaxForSlotId(receiver_item.GetInventory().GetSlotId(0));
449
450
452 {
453 ItemManager.GetInstance().HideDropzones();
454 ItemManager.GetInstance().GetLeftDropzone().SetAlpha(1);
455 ColorManager.GetInstance().SetColor(w, ColorManager.COMBINE_COLOR);
456 }
457 else if (stack_max == 0 && GameInventory.CanSwapEntitiesEx(receiver_item, iw.
GetItem()))
458 {
459 ItemManager.GetInstance().HideDropzones();
460 ItemManager.GetInstance().GetLeftDropzone().SetAlpha(1);
461 ColorManager.GetInstance().SetColor(w, ColorManager.SWAP_COLOR);
462 }
463 else
464 {
465 ItemManager.GetInstance().ShowSourceDropzone(iw.
GetItem());
466 ColorManager.GetInstance().SetColor(w, ColorManager.RED_COLOR);
467 }
468 }
469 else if (slots_icon && slots_icon.
GetSlotID() != -1)
470 {
472
474 {
475 ItemManager.GetInstance().HideDropzones();
476 ItemManager.GetInstance().GetLeftDropzone().SetAlpha(1);
477 ColorManager.GetInstance().SetColor(w, ColorManager.GREEN_COLOR);
478 }
479 else
480 {
481 ItemManager.GetInstance().ShowSourceDropzone(iw.
GetItem());
482 ColorManager.GetInstance().SetColor(w, ColorManager.RED_COLOR);
483 }
484 }
485 else
486 {
487 ItemManager.GetInstance().ShowSourceDropzone(iw.
GetItem());
488 ColorManager.GetInstance().SetColor(w, ColorManager.RED_COLOR);
489 }
490 }
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)