protected void ItemAction(byte type, List<byte> data)
{
Item item = ParseItem(data);
Item temp;
if (!item.ground && !item.unspecified_directory)
{
switch (item.container)
{
case Item.ContainerType.inventory:
m_owner.BotGameData.Inventory.Add(item);
//Console.WriteLine("New Item in Inventory!");
break;
case Item.ContainerType.cube:
m_owner.BotGameData.Cube.Add(item);
break;
case Item.ContainerType.stash:
m_owner.BotGameData.Stash.Add(item);
break;
case Item.ContainerType.belt:
m_owner.BotGameData.Belt.Add(item);
break;
}
}
lock (m_owner.ItemListLock)
{
if (m_owner.BotGameData.Items.TryGetValue(item.id, out temp))
m_owner.BotGameData.Items[item.id] = item;
else
m_owner.BotGameData.Items.Add(item.id, item);
}
}