public ShopPurchaseMessageHandler(IShopItemDataStore shopItemDataStore, IItemPartDataStore itemPartDataStore, ICharacterBuilder characterBuilder, IUnitOfWorkFactory unitOfWorkFactory) { _shopItemDataStore = shopItemDataStore; _itemPartDataStore = itemPartDataStore; _characterBuilder = characterBuilder; _unitOfWorkFactory = unitOfWorkFactory; }
public ShopItemDataStore(IResourceManager resourceManager, IItemPartDataStore itemPartDataStore, IItemHouseDecorationDataStore houseDecorationDataStore, IItemEnchantDataStore enchantDataStore, IItemRecipeDataStore recipeDataStore, ILogger <ShopItemDataStore> logger) { logger.LogInformation("loading..."); var resource = XmlSlurper.ParseText(resourceManager.ReadResource(Resource)); var tmp = new Dictionary <int, ShopItem>(); foreach (dynamic itemRes in resource.ProductList) { var shopItem = new ShopItem(); shopItem.Display = itemRes.DISPLAY; shopItem.Index = itemRes.Index; shopItem.Enable = itemRes.Enable == 1; shopItem.Free = itemRes.Free == 1; shopItem.Sale = itemRes.Sale == 1; shopItem.Event = itemRes.Event == 1; shopItem.Couple = itemRes.Couple == 1; shopItem.Nobuy = itemRes.Nobuy == 1; shopItem.Rand = itemRes.Rand != "No"; shopItem.UseType = ItemUseType.Parse(itemRes.UseType); shopItem.Use0 = itemRes.Use0; shopItem.Use1 = itemRes.Use1; shopItem.Use2 = itemRes.Use2; shopItem.PriceType = ShopPriceType.Parse(itemRes.PriceType); shopItem.Price0 = itemRes.Price0; shopItem.Price1 = itemRes.Price1; shopItem.Price2 = itemRes.Price2; shopItem.OldPrice0 = itemRes.OldPrice0; shopItem.OldPrice1 = itemRes.OldPrice1; shopItem.OldPrice2 = itemRes.OldPrice2; shopItem.CouplePrice = itemRes.CouplePrice; shopItem.CategoryType = ShopCategoryType.Parse(itemRes.Category); shopItem.Name = itemRes.Name; shopItem.GoldBack = itemRes.GoldBack; shopItem.EnableParcel = itemRes.EnableParcel == 1; shopItem.Hero = (int)itemRes.Char; shopItem.Items = new[] { itemRes.Item0, itemRes.Item1, itemRes.Item2, itemRes.Item3, itemRes.Item4, itemRes.Item5, itemRes.Item6, itemRes.Item7, itemRes.Item8, itemRes.Item9 } .Select(p => (int)p).Where(p => p != 0).ToArray(); tmp.Add(shopItem.Index, shopItem); } foreach (var kvp in tmp.OrderBy(p => p.Key)) { Add(kvp.Key, kvp.Value); } _itemPartDataStore = itemPartDataStore; _houseDecorationDataStore = houseDecorationDataStore; _enchantDataStore = enchantDataStore; _recipeDataStore = recipeDataStore; logger.LogInformation("loaded."); }
public CharacterEquipmentBuilder(IShopItemDataStore shopItemDataStore, IItemPartDataStore itemPartDataStore) { _shopItemDataStore = shopItemDataStore; _itemPartDataStore = itemPartDataStore; }