private static string GetSlotDescription(EquipmentSlotDetails slot, EquipmentSlot slotName) { var equipmentString = slotName.ToString(); var indexString = slot.Index == 0 ? "" : $" {slot.Index + 1}"; return(equipmentString + indexString); }
private static MenuItem ConvertItemToMenuItem(EquipmentSlot slot, EquipmentSlotDetails slotDetails, ISystemContainer systemContainer, IEntity equippedEntity) { var item = systemContainer.EquipmentSystem.GetItemInSlot(equippedEntity, slot, slotDetails); string slotDescription = GetSlotDescription(slotDetails, slot); return(new MenuItem($"{slotDescription}: {item?.DescriptionName ?? "(none)"}", item?.EntityId, item != null)); }
private IEntity GetEquippedItem(IEntity entity, EquipmentSlotDetails slot) { var equipped = entity.Get <Equipped>(); var equippedItemId = equipped.EquippedItems.First(e => e.Slot.EquipmentSlot == slot.EquipmentSlot).EquipmentId; return(systemContainer.EntityEngine.Get(equippedItemId)); }
private static void AddToSlotsDictionary(Dictionary <EquipmentSlot, List <EquipmentSlotDetails> > slots, EquipmentSlot slot, BodyPart bodyPart) { if (slots.ContainsKey(slot)) { EquipmentSlotDetails equipDetails = CreateEquipmentSlotDetails(slot, bodyPart, slots[slot].Count); slots[slot].Add(equipDetails); } else { EquipmentSlotDetails equipDetails = CreateEquipmentSlotDetails(slot, bodyPart, 0); slots[slot] = new List <EquipmentSlotDetails> { equipDetails }; } }
private bool IsItemInSlot(IEntity entity, EquipmentSlotDetails slot) { var equipped = entity.Get <Equipped>(); return(equipped.EquippedItems.Any(i => i.Slot == slot)); }
public IEntity GetItemInSlot(IEntity equippedEntity, EquipmentSlot slot, EquipmentSlotDetails slotDetails) { var equipped = equippedEntity.Get <Equipped>(); return(equipped.EquippedItems.Where(e => e.Slot == slotDetails).Select(i => systemContainer.EntityEngine.Get(i.EquipmentId)).Where(i => i.Get <Equipment>().EquipmentSlot == slot).SingleOrDefault()); }