Пример #1
0
        private static string GetSlotDescription(EquipmentSlotDetails slot, EquipmentSlot slotName)
        {
            var equipmentString = slotName.ToString();
            var indexString     = slot.Index == 0 ? "" : $" {slot.Index + 1}";

            return(equipmentString + indexString);
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
        }
Пример #4
0
        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
                };
            }
        }
Пример #5
0
        private bool IsItemInSlot(IEntity entity, EquipmentSlotDetails slot)
        {
            var equipped = entity.Get <Equipped>();

            return(equipped.EquippedItems.Any(i => i.Slot == slot));
        }
Пример #6
0
        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());
        }