Fixed ItemContainer not setting the position of a contained item when it's placed in the ItemInventory, minor refactoring

This commit is contained in:
Regalis
2017-02-07 20:47:24 +02:00
parent d46207916f
commit e2a872ad90
5 changed files with 10 additions and 31 deletions
@@ -121,21 +121,21 @@ namespace Barotrauma.Items.Components
itemsWithStatusEffects = new List<Pair<Item, StatusEffect>>();
}
public void OnItemContained(Item item)
public void OnItemContained(Item containedItem)
{
item.SetContainedItemPositions();
RelatedItem ri = containableItems.Find(x => x.MatchesItem(item));
RelatedItem ri = containableItems.Find(x => x.MatchesItem(containedItem));
if (ri != null)
{
foreach (StatusEffect effect in ri.statusEffects)
{
itemsWithStatusEffects.Add(Pair<Item, StatusEffect>.Create(item, effect));
itemsWithStatusEffects.Add(Pair<Item, StatusEffect>.Create(containedItem, effect));
}
}
//no need to Update() if this item has no statuseffects and no physics body
IsActive = itemsWithStatusEffects.Count > 0 || item.body != null;
IsActive = itemsWithStatusEffects.Count > 0 || containedItem.body != null;
}
public void OnItemRemoved(Item item)