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); }
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); }
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); }
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); }
public void RemoveItem(HouseChestItem item, int quantity) { RemoveItem(item.HouseChest, (ProductTypeEnum)item.ProductID, item.Quality, quantity); }
public EquipmentItemViewModel(HouseChestItem item) : this(item.ProductID, (ProductTypeEnum)item.ProductID, item.Quality, item.Quantity) { }