예제 #1
0
        public bool SetCraftingRequirements(string itemQuery, string requirementQuery)
        {
            var targetItem = itemResolver.ResolveItems(itemQuery).FirstOrDefault();

            if (targetItem == null)
            {
                return(false);
            }

            var requirements = itemResolver.ResolveItems(requirementQuery);

            if (requirements.Count == 0)
            {
                return(false);
            }

            var existingRequirements = gameData.GetCraftingRequirements(targetItem.Item.Id);

            foreach (var er in existingRequirements)
            {
                gameData.Remove(er);
            }

            foreach (var req in requirements)
            {
                gameData.Add(new DataModels.ItemCraftingRequirement
                {
                    Id             = Guid.NewGuid(),
                    Amount         = (int)req.Amount,
                    ItemId         = targetItem.Item.Id,
                    ResourceItemId = req.Item.Id
                });
            }
            return(true);
        }