Пример #1
0
        public void TransferItemToCitizen(Entity currentEntity, HouseChestItem item, Citizen citizen, int quantity)
        {
            var equipment = citizen.Entity.Equipment;

            equipmentService.GiveItem((ProductTypeEnum)item.ProductID, quantity, item.Quality, equipment);
            RemoveItem(item, quantity);
        }
Пример #2
0
        public MethodResult CanDropItem(HouseChestItem item, int amount)
        {
            if (amount <= 0)
            {
                return(new MethodResult("You must drop at least 1 item!"));
            }

            if (item == null)
            {
                return(new MethodResult("Item does not exist!"));
            }

            if (item.Quantity < amount)
            {
                return(new MethodResult("You cannot drop more than you have!"));
            }

            return(MethodResult.Success);
        }
Пример #3
0
        public void GiveItem(HouseChest chest, ProductTypeEnum productType, int quality, int quantity = 1)
        {
            var item = GetChestItem(chest, productType, quality);

            if (item != null)
            {
                item.Quantity += quantity;
            }
            else
            {
                item = new HouseChestItem()
                {
                    ChestID   = chest.FurnitureID,
                    ProductID = (int)productType,
                    Quality   = quality,
                    Quantity  = quantity
                };

                houseChestItemRepository.Add(item);
            }
            ConditionalSaveChanges(houseChestItemRepository);
        }
Пример #4
0
        public MethodResult CanTransferItemToCitizen(Entity currentEntity, HouseChestItem item, Citizen citizen, int quantity)
        {
            if (item == null)
            {
                return(new MethodResult("Item does not exist!"));
            }

            if (citizen == null)
            {
                return(new MethodResult("Citizen does not exist!"));
            }

            if (currentEntity.EntityID != citizen.ID)
            {
                return(new MethodResult("You must be a citizen owning this chest to do that!"));
            }

            if (quantity <= 0)
            {
                return(new MethodResult("You must transfer at least 1 item!"));
            }

            ProductTypeEnum productType = (ProductTypeEnum)item.ProductID;

            if (item.Quantity < quantity)
            {
                return(new MethodResult($"You do not have enough {productType.ToHumanReadable().FirstUpper()} in chest!"));
            }

            var equipment = citizen.Entity.Equipment;

            if (equipmentService.GetUnusedInventorySpace(equipment) < quantity)
            {
                return(new MethodResult("You do not have enough space in inventory!"));
            }

            return(MethodResult.Success);
        }
Пример #5
0
 public void RemoveItem(HouseChestItem item, int quantity)
 {
     RemoveItem(item.HouseChest, (ProductTypeEnum)item.ProductID, item.Quality, quantity);
 }
Пример #6
0
 public EquipmentItemViewModel(HouseChestItem item)
     : this(item.ProductID, (ProductTypeEnum)item.ProductID, item.Quality, item.Quantity)
 {
 }