170 {
171 ItemPreviewWidget ipw = ItemPreviewWidget.Cast( w.FindAnyWidget("Render"));
172 string name = receiver.GetName();
173 name.Replace(
"PanelWidget",
"Render");
174 ItemPreviewWidget receiver_iw = ItemPreviewWidget.Cast( receiver.FindAnyWidget(
name));
176 if (receiver_iw)
177 {
178 receiver_item = receiver_iw.
GetItem();
179 }
180
181 if( !ipw )
182 {
184 name.Replace(
"PanelWidget",
"Render" );
185 ipw = ItemPreviewWidget.Cast( w.FindAnyWidget(
name));
186 }
187 if(!ipw)
188 {
189 ipw = ItemPreviewWidget.Cast(w);
190 }
191
192 if(!ipw.IsInherited(ItemPreviewWidget))
193 {
194 return;
195 }
196
199
200 if(!item.GetInventory().CanRemoveEntity())
201 {
202 return;
203 }
204
205 if(receiver_item)
206 {
207 if(receiver_item.GetInventory().CanAddAttachment(item))
208 {
209 player.PredictiveTakeEntityToTargetAttachment(receiver_item, item);
210 return;
211 }
212 else if(receiver_item.GetInventory().CanAddEntityInCargo(item, item.GetInventory().GetFlipCargo()) && !receiver_item.GetInventory().HasEntityInCargo(item))
213 {
215 return;
216 }
217 }
218
219 if(item)
220 {
222 {
223 player.PredictiveTakeEntityToTargetAttachment(
m_ZombieEntity, item);
224 }
225 else if(
m_ZombieEntity.GetInventory().CanAddEntityToInventory(item))
226 {
228 }
229 }
230
231 if( item )
232 {
234 {
236 }
237 }
238 }
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
FindInventoryLocationType
flags for searching locations in inventory
proto native CGame GetGame()