845 {
846 if( w == NULL )
847 {
848 return;
849 }
851 if( !item )
852 {
853 return;
854 }
855
856 SlotsIcon slots_icon;
857 receiver.GetUserData(slots_icon);
858
861 bool is_reserved = false;
862 int slot_id = -1;
863
864 if(slots_icon)
865 {
870 }
871
872
873 Weapon_Base wpn;
874 Magazine mag;
877 {
878 if( Class.CastTo(wpn,
m_Entity ) && Class.CastTo(mag, item ) )
879 {
880 if( player.GetWeaponManager().CanAttachMagazine( wpn, mag ) )
881 {
882 ItemManager.GetInstance().HideDropzones();
884 {
885 ItemManager.GetInstance().GetRightDropzone().SetAlpha( 1 );
886 }
887 else
888 {
889 ItemManager.GetInstance().GetLeftDropzone().SetAlpha( 1 );
890 }
891 ColorManager.GetInstance().SetColor( w, ColorManager.GREEN_COLOR );
892 }
893 }
894 else if( receiver_item && !is_reserved )
895 {
898 if( receiver_itemIB && itemIB && receiver_itemIB.
CanBeCombined( itemIB ) )
899 {
900 ItemManager.GetInstance().HideDropzones();
902 {
903 ItemManager.GetInstance().GetRightDropzone().SetAlpha( 1 );
904 }
905 else
906 {
907 ItemManager.GetInstance().GetLeftDropzone().SetAlpha( 1 );
908 }
909 ColorManager.GetInstance().SetColor( w, ColorManager.COMBINE_COLOR );
910 }
911 else if( GameInventory.CanSwapEntitiesEx( receiver_item, item ) )
912 {
913 ItemManager.GetInstance().HideDropzones();
915 {
916 ItemManager.GetInstance().GetRightDropzone().SetAlpha( 1 );
917 }
918 else
919 {
920 ItemManager.GetInstance().GetLeftDropzone().SetAlpha( 1 );
921 }
922 ColorManager.GetInstance().SetColor( w, ColorManager.SWAP_COLOR );
923 }
924 else if( receiver_itemIB.GetInventory().CanAddAttachment( item ) )
925 {
926 ItemManager.GetInstance().HideDropzones();
928 {
929 ItemManager.GetInstance().GetRightDropzone().SetAlpha( 1 );
930 }
931 else
932 {
933 ItemManager.GetInstance().GetLeftDropzone().SetAlpha( 1 );
934 }
935 ColorManager.GetInstance().SetColor( w, ColorManager.GREEN_COLOR );
936 }
937 }
938 else if( attached_entity && attached_entity.GetInventory().CanAddAttachmentEx( item, slot_id ) )
939 {
940 ItemManager.GetInstance().HideDropzones();
942 {
943 ItemManager.GetInstance().GetRightDropzone().SetAlpha( 1 );
944 }
945 else
946 {
947 ItemManager.GetInstance().GetLeftDropzone().SetAlpha( 1 );
948 }
949 ColorManager.GetInstance().SetColor( w, ColorManager.GREEN_COLOR );
950 }
951 else if(
m_Entity.GetInventory().CanAddAttachment( item ) )
952 {
953 ItemManager.GetInstance().HideDropzones();
955 {
956 ItemManager.GetInstance().GetRightDropzone().SetAlpha( 1 );
957 }
958 else
959 {
960 ItemManager.GetInstance().GetLeftDropzone().SetAlpha( 1 );
961 }
962 ColorManager.GetInstance().SetColor( w, ColorManager.GREEN_COLOR );
963 }
964 else if( (
m_Entity.GetInventory().CanAddEntityInCargo( item, item.GetInventory().GetFlipCargo() ) && !
m_Entity.GetInventory().HasEntityInCargo( item ) ) )
965 {
966 ItemManager.GetInstance().HideDropzones();
968 {
969 ItemManager.GetInstance().GetRightDropzone().SetAlpha( 1 );
970 }
971 else
972 {
973 ItemManager.GetInstance().GetLeftDropzone().SetAlpha( 1 );
974 }
975 ColorManager.GetInstance().SetColor( w, ColorManager.GREEN_COLOR );
976 }
977 else
978 {
979 ItemManager.GetInstance().ShowSourceDropzone( item );
980 ColorManager.GetInstance().SetColor( w, ColorManager.RED_COLOR );
981 }
982 }
983 }
class GP5GasMask extends MaskBase ItemBase
EntityAI GetItemPreviewItem(Widget w)
override bool CanBeCombined(EntityAI other_item, bool reservation_check=true, bool stack_max_limit=false)
proto native CGame GetGame()