예제 #1
0
        public bool LOBBY2CLIENT_PURCHASE_GOODS_RESP(Observers.Interfaces.INotification note)
        {
            PurchaseGoodsResp purchaseGoodsResp = note.Body as PurchaseGoodsResp;
            int    shopID       = purchaseGoodsResp.goodsType;
            int    shopItemID   = purchaseGoodsResp.goodsNo;
            int    costType     = purchaseGoodsResp.costType;
            string shopItemName = string.Empty;

            if (shopID == 13)
            {
                ShopDiamondItemInfo shopDiamondInfo = null;
                ShopProxy.instance.ShopDiamondItemInfoDic.TryGetValue(shopItemID, out shopDiamondInfo);
                shopItemName = Localization.Get(shopDiamondInfo.ShopDiamondData.name);
            }
            else if (shopID == 14)
            {
                ShopActionItemInfo shopActionItemInfo = null;
                ShopProxy.instance.ShopActionItemInfoDic.TryGetValue(shopItemID, out shopActionItemInfo);
                shopItemName = Localization.Get(shopActionItemInfo.ShopLimitItemData.name);
            }
            else if (shopID == 15)
            {
                ShopGoldItemInfo shopGoldItemInfo = null;
                ShopProxy.instance.ShopGoldItemInfoDic.TryGetValue(shopItemID, out shopGoldItemInfo);
                shopItemName = Localization.Get(shopGoldItemInfo.ShopLimitItemData.name);
            }
            else if (shopID == 16)
            {
                ShopGoodsItemInfo shopGoodsItemInfo = null;
                ShopProxy.instance.ShopGoodsItemInfoDic.TryGetValue(shopItemID, out shopGoodsItemInfo);
                shopItemName = Localization.Get(shopGoodsItemInfo.ShopGoodsData.name);
            }
            CommonAutoDestroyTipsView.Open(string.Format(Localization.Get("ui.shop_view.buy_success_tips"), shopItemName));
            return(true);
        }
예제 #2
0
        public bool LOBBY2CLIENT_OTHER_GOODS_RESP(Observers.Interfaces.INotification note)
        {
            OtherGoodsResp otherGoodsResp = note.Body as OtherGoodsResp;

            List <ShopGoodsItemInfo> shopGoodsItemInfoList = ShopProxy.instance.ShopGoodsItemInfoDic.GetValues();
            int shopGoodsItemInfoCount = shopGoodsItemInfoList.Count;

            for (int i = 0; i < shopGoodsItemInfoCount; i++)
            {
                shopGoodsItemInfoList[i].UpdateInfo(0);
            }

            List <OtherGoodsProto> otherGoodsProtoList = otherGoodsResp.goods;
            int otherGoodsProtoCount            = otherGoodsProtoList.Count;
            ShopGoodsItemInfo shopGoodsItemInfo = null;

            for (int i = 0; i < otherGoodsProtoCount; i++)
            {
                shopGoodsItemInfo = null;
                ShopProxy.instance.ShopGoodsItemInfoDic.TryGetValue(otherGoodsProtoList[i].goodsNo, out shopGoodsItemInfo);

                if (shopGoodsItemInfo != null)
                {
                    shopGoodsItemInfo.UpdateInfo(otherGoodsProtoList[i].remianPurchaseTimes);
                }
            }
            ShopProxy.instance.OnShopGoodsItemInfoListUpdate();
            return(true);
        }
예제 #3
0
        public void SetShopGoodItemInfo(ShopGoodsItemInfo shopGoodsItemInfo)
        {
            _shopGoodsItemInfo = shopGoodsItemInfo;

            GameResData goodsGameResData = _shopGoodsItemInfo.ShopGoodsData.goodsGameResData;

            nameText.text        = Localization.Get(_shopGoodsItemInfo.ShopGoodsData.name);
            descriptionText.text = Localization.Get(_shopGoodsItemInfo.ShopGoodsData.description);

            string itemIconSpritePath = string.Empty;

            if (!string.IsNullOrEmpty(_shopGoodsItemInfo.ShopGoodsData.pic))
            {
                itemIconSpritePath = ResPath.GetShopItemIconPath(_shopGoodsItemInfo.ShopGoodsData.pic);
            }
            else
            {
                if (goodsGameResData.type == Logic.Enums.BaseResType.Item)
                {
                    ItemData itemData = ItemData.GetItemDataByID(goodsGameResData.id);
                    itemIconSpritePath = ResPath.GetItemIconPath(itemData.icon);
                }
                else if (goodsGameResData.type == Logic.Enums.BaseResType.Hero)
                {
                    HeroData heroData = HeroData.GetHeroDataByID(goodsGameResData.id);
                    itemIconSpritePath = ResPath.GetCharacterHeadIconPath(heroData.headIcons[heroData.starMin - 1]);
                }
            }
            itemIconImage.SetSprite(ResMgr.instance.Load <Sprite>(itemIconSpritePath));
            itemIconImage.SetNativeSize();

            costResourceIcon.SetSprite(ResMgr.instance.Load <Sprite>(UIUtil.GetBaseResIconPath(_shopGoodsItemInfo.ShopGoodsData.costGameResData.type)));
            costResourceIcon.SetNativeSize();
            costResourceCountText.text = _shopGoodsItemInfo.ShopGoodsData.costGameResData.count.ToString();

            freeTimesRoot.SetActive(false);
            freeCountDownSlider.gameObject.SetActive(false);

            if (_shopGoodsItemInfo.ShopGoodsData.itemNum > 0)
            {
                if (_shopGoodsItemInfo.RemainPurchaseTimes > 0)
                {
                    buyButton.gameObject.SetActive(true);
                    soldOutButton.gameObject.SetActive(false);
                }
                else
                {
                    buyButton.gameObject.SetActive(false);
                    soldOutButton.gameObject.SetActive(true);
                }
                limitTimesText.text = string.Format(Localization.Get("common.value/max"), _shopGoodsItemInfo.RemainPurchaseTimes, _shopGoodsItemInfo.ShopGoodsData.itemNum);
                limitTimesRoot.SetActive(true);
            }
            else
            {
                limitTimesRoot.SetActive(false);
                buyButton.gameObject.SetActive(true);
                soldOutButton.gameObject.SetActive(false);
            }
        }
예제 #4
0
        public void LoadShopGoodsItemInfo()
        {
            List <ShopGoodsData> shopGoodsDataList = ShopGoodsData.GetShopGoodsData().GetValues();
            int shopGoodsDataCount = shopGoodsDataList.Count;

            for (int i = 0; i < shopGoodsDataCount; i++)
            {
                ShopGoodsItemInfo shopGoodsItemInfo = new ShopGoodsItemInfo(shopGoodsDataList[i]);
                _shopGoodsItemInfoDic.Add(shopGoodsDataList[i].id, shopGoodsItemInfo);
            }
        }
예제 #5
0
        public bool LOBBY2CLIENT_OTEHR_GOODS_UPDATE_RESP(Observers.Interfaces.INotification note)
        {
            OtherGoodsUpdateResp otherGoodsUpdateResp = note.Body as OtherGoodsUpdateResp;
            OtherGoodsProto      otherGoodsProto      = otherGoodsUpdateResp.updateGoods;
            ShopGoodsItemInfo    shopGoodsItemInfo    = null;

            ShopProxy.instance.ShopGoodsItemInfoDic.TryGetValue(otherGoodsProto.goodsNo, out shopGoodsItemInfo);
            if (shopGoodsItemInfo != null)
            {
                shopGoodsItemInfo.UpdateInfo(otherGoodsProto.remianPurchaseTimes);
                ShopProxy.instance.OnShopGoodsItemInfoListUpdate();
            }
            return(true);
        }