public void LoadShopGoldItemInfo() { List <ShopLimitItemData> shopGoldLimitDataList = ShopLimitItemData.GetGoldItemDataList(); int shopGoldLimitDataCount = shopGoldLimitDataList.Count; for (int i = 0; i < shopGoldLimitDataCount; i++) { ShopGoldItemInfo shopGoldItemInfo = new ShopGoldItemInfo(shopGoldLimitDataList[i]); _shopGoldItemInfoDic.Add(shopGoldLimitDataList[i].id, shopGoldItemInfo); } }
public ShopGoldItemInfo(ShopLimitItemData shopLimitItemData) { _shopLimitItemData = shopLimitItemData; }
public ShopActionItemInfo(ShopLimitItemData shopLimitItemData) { _shopLimitItemData = shopLimitItemData; }
public void ClickBuyHandler() { int shopID = 0; int shopItemID = 0; string shopItemName = string.Empty; GameResData costGameResData = null; int costType = 1; ConsumeTipType consumTipType = ConsumeTipType.None; //提示 if (_shopHeroRandomCardInfo != null) { shopID = _shopHeroRandomCardInfo.ShopCardRandomData.shopID; shopItemID = _shopHeroRandomCardInfo.ShopCardRandomData.id; shopItemName = Localization.Get(_shopHeroRandomCardInfo.ShopCardRandomData.name); costGameResData = _shopHeroRandomCardInfo.ShopCardRandomData.costGameResData; if (_shopHeroRandomCardInfo.RemainFreeTimes > 0 && _shopHeroRandomCardInfo.NextFreeBuyCountDownTime <= 0) { costType = 0; } consumTipType = _shopHeroRandomCardInfo.ShopCardRandomData.buyType == 1 ? ConsumeTipType.DiamondDrawSingleHero : ConsumeTipType.DiamondDrawTenHeroes; } else if (_shopEquipmentRandomCardInfo != null) { shopID = _shopEquipmentRandomCardInfo.ShopCardRandomData.shopID; shopItemID = _shopEquipmentRandomCardInfo.ShopCardRandomData.id; shopItemName = Localization.Get(_shopEquipmentRandomCardInfo.ShopCardRandomData.name); costGameResData = _shopEquipmentRandomCardInfo.ShopCardRandomData.costGameResData; if (_shopEquipmentRandomCardInfo.RemainFreeTimes > 0 && _shopEquipmentRandomCardInfo.NextFreeBuyCountDownTime <= 0) { costType = 0; } // consumTipType = _shopEquipmentRandomCardInfo.ShopCardRandomData.buyType == 1 ? ConsumeTipType.DiamondSingleLotteryEquip : ConsumeTipType.None; } else if (_shopDiamondItemInfo != null) { shopID = _shopDiamondItemInfo.ShopDiamondData.shopID; shopItemID = _shopDiamondItemInfo.ShopDiamondData.id; shopItemName = Localization.Get(_shopDiamondItemInfo.ShopDiamondData.name); costGameResData = _shopDiamondItemInfo.ShopDiamondData.costGameResData; } else if (_shopActionItemInfo != null) { shopID = _shopActionItemInfo.ShopLimitItemData.shopID; shopItemID = _shopActionItemInfo.ShopLimitItemData.id; shopItemName = Localization.Get(_shopActionItemInfo.ShopLimitItemData.name); costGameResData = _shopActionItemInfo.ShopLimitItemData.costGameResData; BaseResType resourseResType = _shopActionItemInfo.ShopLimitItemData.resourseGameResData.type; if (resourseResType == BaseResType.TowerAction) { consumTipType = ConsumeTipType.DiamondBuyWorldTreeCount; } else if (resourseResType == BaseResType.PvpAction) { consumTipType = ConsumeTipType.DiamondBuyPvpCount; } else if (resourseResType == BaseResType.PveAction) { consumTipType = ConsumeTipType.DiamondBuyPveAction; } } else if (_shopGoldItemInfo != null) { shopID = _shopGoldItemInfo.ShopLimitItemData.shopID; shopItemID = _shopGoldItemInfo.ShopLimitItemData.id; shopItemName = Localization.Get(_shopGoldItemInfo.ShopLimitItemData.name); costGameResData = _shopGoldItemInfo.ShopLimitItemData.costGameResData; consumTipType = ConsumeTipType.DiamondBuyCoin; } else if (_shopGoodsItemInfo != null) { shopID = _shopGoodsItemInfo.ShopGoodsData.shopID; shopItemID = _shopGoodsItemInfo.ShopGoodsData.id; shopItemName = Localization.Get(_shopGoodsItemInfo.ShopGoodsData.name); costGameResData = _shopGoodsItemInfo.ShopGoodsData.costGameResData; } // 对于限制购买次数的物品,先判断是否还有购买次数 if (_shopActionItemInfo != null || _shopGoldItemInfo != null) { ShopLimitItemData shopLimitItemData = null; if (_shopActionItemInfo != null) { shopLimitItemData = _shopActionItemInfo.ShopLimitItemData; if (shopLimitItemData.baseResType == BaseResType.PveAction) { if (shopLimitItemData.id > VIPProxy.instance.VIPData.pveActionBuyTimes) { ConfirmTipsView.Open(Localization.Get("ui.shop_view.not_enough_remain_times_tips"), ClickGoToBuyDiamond); return; } } else if (shopLimitItemData.baseResType == BaseResType.TowerAction) { if (shopLimitItemData.id > VIPProxy.instance.VIPData.worldTreeActionBuyTimes) { ConfirmTipsView.Open(Localization.Get("ui.shop_view.not_enough_remain_times_tips"), ClickGoToBuyDiamond); return; } } } else if (_shopGoldItemInfo != null) { shopLimitItemData = _shopGoldItemInfo.ShopLimitItemData; if (shopLimitItemData.id > VIPProxy.instance.VIPData.goldBuyTimes) { ConfirmTipsView.Open(Localization.Get("ui.shop_view.not_enough_remain_times_tips"), ClickGoToBuyDiamond); return; } } } // 对于限制购买次数的物品,先判断是否还有购买次数 if (costType == 0) //免费 { ShopController.instance.CLIENT2LOBBY_PURCHASE_GOODS_REQ(shopID, shopItemID, costType); } else if (costType == 1) //非免费 { if (GameResUtil.IsBaseRes(costGameResData.type)) { if (GameProxy.instance.BaseResourceDictionary[costGameResData.type] < costGameResData.count) { if (costGameResData.type == BaseResType.Diamond) { string diamondNotEnoughTipsString = Localization.Get("ui.common_tips.not_enough_diamond_and_go_to_buy"); ConfirmTipsView.Open(diamondNotEnoughTipsString, ClickGoToBuyDiamond, ConsumeTipType.None); } else { CommonErrorTipsView.Open(string.Format(Localization.Get("ui.common_tips.not_enough_resource"), GameResUtil.GetBaseResName(costGameResData.type))); } return; } if (costGameResData.type == Logic.Enums.BaseResType.Diamond) { if (ConsumeTipProxy.instance.GetConsumeTipEnable(consumTipType)) { ConfirmBuyShopItemTipsView.Open(shopItemName, costGameResData, ClickConfirmBuyHandler, consumTipType); } else { ClickConfirmBuyHandler(); } } else { ShopController.instance.CLIENT2LOBBY_PURCHASE_GOODS_REQ(shopID, shopItemID, costType); } } else { ShopController.instance.CLIENT2LOBBY_PURCHASE_GOODS_REQ(shopID, shopItemID, costType); } Debugger.Log(string.Format("[ShopItemView]shopid:{0},shopitemid:{1},costtype:{2}", shopID, shopItemID, costType)); } }