private void LoadItems()
{
EquippedItems = new Dictionary<ItemSlot, Equip>();
foreach (var eqp in character.Equips.Where(e => e.Slot < 0))
{
Equip equip = new Equip(eqp);
if (EquippedItems.ContainsKey(equip.SlotType))
{
Log.WriteLine(LogLevel.Warn, "{0} has duplicate equipped in slot {1}.", Name, equip.SlotType);
continue;
}
EquippedItems.Add(equip.SlotType, equip);
}
InventoryItems = new Dictionary<sbyte, Item>();
foreach (var eqp in character.Equips.Where(e => e.Slot >= 0))
{
Equip equip = new Equip(eqp);
if (InventoryItems.ContainsKey(equip.Slot))
{
Log.WriteLine(LogLevel.Warn, "{0} has a duplicate item in slot {0}.", Name, equip.Slot);
continue;
}
InventoryItems.Add(equip.Slot, equip);
}
foreach (var ditem in character.Items)
{
Item item = new Item(ditem);
InventoryItems.Add((sbyte)item.Slot, item);
}
SkillsActive = new Dictionary<ushort, Skill>();
SkillsPassive = new Dictionary<ushort, Skill>();
foreach (var skill in character.Skills)
{
Skill s = new Skill(skill);
if (s.IsPassive)
{
SkillsPassive.Add(s.ID, s);
}
else
{
SkillsActive.Add(s.ID, s);
}
}
}