/// <summary> /// 活力商品显示 /// </summary> private void InitPowerShopUI() { int surplusNum_0 = 0; //可用次数 goods = config.getAp_supplement_goods(); //活力补满商品的ID ShopTemplate shopDate = (ShopTemplate)DataTemplate.GetInstance().m_ShopTable.getTableData(goods); if (shopDate == null) { LogManager.Log("is Shop null !!!!"); return; } m_NameTxt_0.text = GameUtils.getString(shopDate.getCommodityName()); m_DesTxt_0.text = GameUtils.getString(shopDate.getCommodityDes()); //商品使用次数+Vip的使用次数 surplusNum_0 = shopDate.getDailyMaxBuy() + vipData.getMaxBuyAp(); //剩余使用次数 Shopbuy shop = ObjectSelf.GetInstance().GetShopBuyInfoByShopId(goods); m_curSurpNum_0 = surplusNum_0 - shop.todaynum; _SurplusNumTxt_0.text = m_curSurpNum_0.ToString(); _Icon_0.sprite = UIResourceMgr.LoadSprite(common.defaultPath + shopDate.getResourceName()); //消耗钻石显示 m_conDiamNum = DataTemplate.GetInstance().GetShopBuyCost(shopDate, shop.todaynum); _ConDiamNumTxt.text = m_conDiamNum.ToString(); SetBtnColor(m_curSurpNum_0, _UserBtn_0, ObjectSelf.GetInstance().Gold); }
void OnShopInfoChange(GameEvent ge) { if (ge != null) { Shopbuy sb = ge.data as Shopbuy; if (sb != null && sb.shopid == mItemUIs[0].GetDataId()) { RefreshShopItemUI(); } } }
void UpdateTotalResourceInfo(GameEvent ge) { if (ge == null) { return; } Shopbuy it = ge.data as Shopbuy; int stoneid = DataTemplate.GetInstance().GetGameConfig().getIdentify_stone_id(); if (it == null || it.shopid != stoneid) { return; } UpdateUI(); }
/// <summary> /// 获得最大购买次数---注意不会有阶梯价格的物品; /// </summary> /// <param name="shopId"></param> /// <param name="perPrice"></param> /// <returns></returns> public static int GetMaxBuyCount(int shopId, int perPrice) { ShopTemplate ShopT = DataTemplate.GetInstance().GetShopTemplateByID(shopId); if (ShopT == null) { LogManager.LogError("ShopTemplate is null id=" + shopId); return(-1); } List <int> times = new List <int>(); //-----根据人物当前资源最大购买次数-------- int countByMoney = -1; long count = -1; if (ObjectSelf.GetInstance().TryGetResourceCountById(ShopT.getCostType(), ref count)) { countByMoney = (int)(count / perPrice); times.Add(countByMoney); } int vipLv = ObjectSelf.GetInstance().VipLevel; Shopbuy sb = ObjectSelf.GetInstance().GetShopBuyInfoByShopId(ShopT.getId()); //-----根据人物当前vip每日限购最大购买次数-- int countByDaily = -1; //-----根据人物当前vip总限购最大购买次数---- int countByTotal = -1; if (IsShopBuyLimited(ShopT)) { countByDaily = DataTemplate.GetInstance().GetShopItemDailyBuyTimes(ShopT, vipLv) - sb.todaynum; countByTotal = DataTemplate.GetInstance().GetShopItemDailyBuyTimes(ShopT, vipLv) - sb.buyallnum; times.Add(countByDaily); times.Add(countByTotal); } //默认最大购买次数; times.Add(999); return(Mathf.Max(0, Mathf.Min(times.ToArray()))); }
/// <summary> /// 设置信息,id表示表格id,type = 0表示对应shop表,1表示物品表; /// </summary> /// <param name="id"></param> /// <param name="type"></param> public void SetData(int id, int type) { mId = id; mType = type; switch (type) { case 0: m_UseBtnTxt.text = GameUtils.getString("common_button_purchase"); shopT = DataTemplate.GetInstance().GetShopTemplateByID(id); m_IconImg.sprite = UIResourceMgr.LoadSprite(common.defaultPath + shopT.getResourceName()); m_IconImg.SetNativeSize(); m_TitleTxt.text = GameUtils.getString(shopT.getCommodityName()); mHaveCount = int.MaxValue; int max = DataTemplate.GetInstance().GetShopItemDailyBuyTimes(shopT, ObjectSelf.GetInstance().VipLevel); //剩余使用次数 Shopbuy shop = ObjectSelf.GetInstance().GetShopBuyInfoByShopId(id); mRemineTimes = max - shop.todaynum; mCost = DataTemplate.GetInstance().GetShopBuyCost(shopT, shop.todaynum); m_ReminTxt.text = mRemineTimes.ToString(); m_CostTxt.text = mCost.ToString(); m_CostObj.SetActive(true); m_HaveObj.SetActive(false); long moneyCount = -1; if (ObjectSelf.GetInstance().TryGetResourceCountById(EM_RESOURCE_TYPE.Gold, ref moneyCount)) { GameUtils.SetBtnSpriteGrayState(m_UseBtn, mRemineTimes <= 0 || mCost > moneyCount); } m_DetailTxt.text = GameUtils.getString(shopT.getCommodityDes()); break; case 1: m_UseBtnTxt.text = GameUtils.getString("common_button_use"); itemT = DataTemplate.GetInstance().GetItemTemplateById(id); m_IconImg.sprite = UIResourceMgr.LoadSprite(common.defaultPath + itemT.getIcon()); m_IconImg.SetNativeSize(); m_TitleTxt.text = GameUtils.getString(itemT.getName()); if (!ObjectSelf.GetInstance().TryGetItemCountById(EM_BAG_HASHTABLE_TYPE.EM_BAG_HASHTABLE_TYPE_COMMON, id, ref mHaveCount)) { mHaveCount = 0; } int max1 = ExplorePointModule.GetEPItemUseTimes(itemT, ObjectSelf.GetInstance().VipLevel); //剩余使用次数 int useTimes = ObjectSelf.GetInstance().CommonItemContainer.GetItemUseTimes(EM_BAG_HASHTABLE_TYPE.EM_BAG_HASHTABLE_TYPE_COMMON, id); mRemineTimes = max1 - Mathf.Max(0, useTimes); mCost = 0; m_ReminTxt.text = mRemineTimes.ToString(); m_CostTxt.text = mCost.ToString(); m_CostObj.SetActive(false); m_HaveTxt.text = (mHaveCount > 999 ? 999 : mHaveCount).ToString(); m_HaveObj.SetActive(true); GameUtils.SetBtnSpriteGrayState(m_UseBtn, mRemineTimes <= 0 || mHaveCount <= 0); m_DetailTxt.text = GameUtils.getString(itemT.getDes()); break; default: break; } }