public void setItemData(ShopItemData itemData, ShopInfoUIComponent infoComponent, ShopType type, bool ischoose) { this.m_itemData = itemData; this.m_infoComponent = infoComponent; this.m_curType = type; this.m_isChoose = ischoose; m_lastType = m_curType; }
public void setPanel(ShopItemData itemdata, ShopType currentType) { m_itemdata = itemdata; if (itemdata == null) { return; } m_currentType = currentType; m_NumberRoot.Visible = (m_currentType != ShopType.BlackMarket); m_buyNumber = 1; m_buyPropCount = itemdata.m_number; m_cashType_img.Sprite = ShopHelper.getCashType(itemdata.m_costType); if (itemdata.m_prop != null) { m_icon_img.Sprite = itemdata.m_prop.icon; m_itemName_lab.Text = LocalizeModule.Instance.GetString(itemdata.m_prop.name); m_itemContent_lab.Text = LocalizeModule.Instance.GetString(itemdata.m_prop.description); } m_number_lab.Text = m_buyNumber.ToString(); this.m_sumBgImg.Visible = itemdata.m_number > 1; if (itemdata.m_number > 1) { m_count_lab.Text = string.Format("x{0}", itemdata.m_number); } else { m_count_lab.Text = string.Empty; } if (!itemdata.m_hasDis) { m_disCount_img.Visible = false; m_oriRoot_root.Visible = false; m_cost = itemdata.m_oriPrice * m_buyNumber; m_price_lab.Text = m_cost.ToString(); } else { m_disCount_lab.Text = string.Format("-{0}%", itemdata.m_disCount); m_oriPrice_lab.Text = itemdata.m_oriPrice.ToString(); m_cost = itemdata.m_disPrice * m_buyNumber; m_price_lab.Text = m_cost.ToString(); m_oriRoot_root.Visible = true; m_disCount_img.Visible = true; } if (itemdata.m_limitNumber < 0) { m_limit_root.Visible = false; } else { m_limit_root.Visible = true; m_limit_lab.Text = itemdata.m_limitNumber.ToString(); } checkBtnState(); }
public void SetBuyItemInfo(ShopItemData itemdata) { m_itemdata = itemdata; this.m_itemConf = m_itemdata.m_prop; RefreshUI(); }
public override void OnHide() { base.OnHide(); m_buy_btn.RemoveClickCallBack(btnBuy); GameEvents.BuyEvent.OnShopRes -= OnBuyCallback; GameEvents.BuyEvent.OnShopReq -= OnRequestCallback; GameEvents.Skill_Event.OnSkillFinish -= OneUseReqCallback; m_itemdata = null; m_curShopType = ShopType.None; this.m_effect.Visible = false; }
public static ShopItemData getShopDataByID(ShopPropData pdata, long id) { for (int i = 0; i < pdata.m_itemdata.Count; i++) { ShopItemData itemdata = pdata.m_itemdata[i]; if (itemdata.marketID == id) { return(itemdata); } } return(null); }
public void setData(ShopItemData itemdata, ShopType shopType, int index_, bool is_fast_buy = false) { m_itemdata = itemdata; m_curShopType = shopType; m_is_fast_buy = is_fast_buy; m_idx = index_; if (itemdata == null) { return; } if (itemdata.m_prop != null) { m_icon_img.Sprite = itemdata.m_prop.icon; } }
public virtual void setData(ShopItemData itemdata, ShopType shopType, int index_, bool is_fast_buy = false) { m_itemdata = itemdata; m_curShopType = shopType; m_is_fast_buy = is_fast_buy; m_idx = index_; if (itemdata == null) { return; } if (itemdata.m_prop != null) { m_icon_img.Sprite = itemdata.m_prop.icon; } m_cashType_img.Sprite = ShopHelper.getCashType(itemdata.m_costType); m_limited_cashType_img.Sprite = ShopHelper.getCashType(itemdata.m_costType); m_count_lab.Text = string.Format("x{0}", itemdata.m_number); if (itemdata.m_hasDis) { m_cost = itemdata.m_disPrice; m_disCount_root.Visible = true; m_oriPrice_root.Visible = true; m_disCount_lab.Text = string.Format("-{0}%", (100 - itemdata.m_disCount)); m_oriPrice_lab.Text = itemdata.m_oriPrice.ToString(); m_limited_cost_lab.Text = m_cost_lab.Text = itemdata.m_disPrice.ToString(); } else { m_cost = itemdata.m_oriPrice; m_disCount_root.Visible = false; m_oriPrice_root.Visible = false; m_limited_cost_lab.Text = m_cost_lab.Text = itemdata.m_oriPrice.ToString(); } if (ShopType.Coin == m_curShopType && null == m_icon_effect) { m_icon_effect = Make <GameUIEffect>("UI_jinbi_goumai01"); } if (null != m_icon_effect) { m_icon_effect.EffectPrefabName = string.Format("UI_jinbi_goumai0{0}.prefab", index_ + 1); } if (ShopType.Vit == m_curShopType && itemdata.m_limitNumber >= 0) { m_limited_buy_btn.Visible = true; m_buy_btn.Visible = false; m_limited_max_num = itemdata.m_limitNumber; m_limited_buy_num_txt.Text = string.Format("({0}/{1})", m_limited_max_num, m_limited_max_num); } else { m_limited_buy_btn.Visible = false; m_buy_btn.Visible = true; } if (ShopType.Vit == m_curShopType && 0 == itemdata.m_limitNumber) { m_limited_buy_btn.Enable = false; m_limited_buy_btn.SetGray(true); } else { m_limited_buy_btn.Enable = true; m_limited_buy_btn.SetGray(false); } }
/// <summary> /// 购买回调 /// </summary> /// <param name="res"></param> private void OnBuyCallback(MarkeBuyResponse res) { if (request_Type != m_curType) { return; } if (res.ResponseStatus != null) { PopUpManager.OpenNormalOnePop("shop_rmb_no"); requestShopData(); } else { if (request_ID == m_curChooseID) { request_Type = ShopType.None; ShopItemData curItemdata = getShopDataByID(); if (curItemdata != null) { //PopUpManager.OpenNormalOnePop("shop_rmb_ok"); ConfProp prop = ConfProp.Get(curItemdata.m_prop.id); if (prop != null && prop.type != 3) { ResultWindowData windowDatas = new ResultWindowData(new List <ResultItemData> { new ResultItemData(curItemdata.m_prop.id, total_prop_count) }); FrameMgr.OpenUIParams param = new FrameMgr.OpenUIParams(UIDefine.UI_GIFTRESULT); param.Param = windowDatas; EngineCoreEvents.UIEvent.ShowUIEventWithParam.SafeInvoke(param); } //CommonHelper.OpenGift(curItemdata.m_prop.id, request_Market_Count); if (curItemdata.m_limitNumber > 0) { curItemdata.m_limitNumber -= request_Market_Count; } m_shopInfo_com.setPanel(curItemdata, m_curType); int cost = 0; if (curItemdata.m_hasDis) { cost = curItemdata.m_disPrice * request_Market_Count; } else { cost = curItemdata.m_oriPrice * request_Market_Count; } GlobalInfo.MY_PLAYER_INFO.AddSingleBagInfo(curItemdata.m_prop.id, total_prop_count); GameEvents.UIEvents.UI_GameEntry_Event.Listen_OnCombinePropCollected.SafeInvoke(); if (curItemdata.m_costType == CostType.CostCash) { GlobalInfo.MY_PLAYER_INFO.ChangeCash(-cost); } else if (curItemdata.m_costType == CostType.CostCoin) { GlobalInfo.MY_PLAYER_INFO.ChangeCoin(-cost); } Dictionary <UBSParamKeyName, object> _params = new Dictionary <UBSParamKeyName, object>() { { UBSParamKeyName.ContentID, curItemdata.marketID }, { UBSParamKeyName.NumItems, request_Market_Count } }; if (m_curType == ShopType.Prop) { UserBehaviorStatisticsModules.Instance.LogEvent(UBSEventKeyName.shop_buy, null, _params); } if (curItemdata.m_limitNumber == 0 && m_curType == ShopType.Prop) { requestShopData(); } else if (m_curType == ShopType.BlackMarket) { requestShopData(); UserBehaviorStatisticsModules.Instance.LogEvent(UBSEventKeyName.blackmarket_buy, null, _params); } //GlobalInfo.MY_PLAYER_INFO.SetCoin(res.PlayerBaseInfo.Coin); } } } }
public override void setData(ShopItemData itemdata, ShopType shopType, int index_, bool is_fast_buy = false) { base.setData(itemdata, shopType, index_, is_fast_buy); RefeshItemInbagNum(); }
public static ShopPropData getShopData(MarketResponse shopdata) { if (shopdata == null) { return(null); } ShopPropData pdata = new ShopPropData(); pdata.m_itemdata = new List <ShopItemData>(); List <ShopItemData> m_giftData = new List <ShopItemData>(); //礼盒 if (shopdata.Category == Category.Black && shopdata.MarketBlack != null) { pdata.m_reflashCost = shopdata.MarketBlack.FreshCost; pdata.m_reflashCount = shopdata.MarketBlack.FreshLimit; pdata.m_LastReflashTime = shopdata.MarketBlack.LastUpdateTime * 10000; pdata.m_NextReflashTime = shopdata.MarketBlack.NextUpdateTime * 10000; } for (int i = 0; i < shopdata.MarketItems.Count; i++) { ShopItemData itemdata = new ShopItemData(); MarketItemMsg markitem = shopdata.MarketItems[i]; if (markitem != null) { ConfProp prop = ConfProp.Get(markitem.SellId); itemdata.m_number = markitem.SellCount; itemdata.marketID = markitem.Id; itemdata.m_oriPrice = markitem.Cost; itemdata.m_limitNumber = markitem.BuyLimit; itemdata.m_maxNumber = markitem.MaxLimit; itemdata.m_costType = markitem.CostType; if (markitem.DiscountInfo != null) { System.DateTime startTime = CommonTools.TimeStampToDateTime(markitem.DiscountInfo.DiscountStart * 10000); System.DateTime endTime = CommonTools.TimeStampToDateTime(markitem.DiscountInfo.DiscountEnd * 10000); System.DateTime nowTime = CommonTools.GetCurrentTime(); if (markitem.DiscountInfo.Discount == 0 || nowTime < startTime || nowTime > endTime) { itemdata.m_hasDis = false; } else { itemdata.m_hasDis = true; itemdata.m_disPrice = markitem.DiscountInfo.DiscountCost; itemdata.m_disCount = markitem.DiscountInfo.Discount; itemdata.m_disIcon = markitem.DiscountInfo.DiscountIcon; } } else { itemdata.m_hasDis = false; } if (prop != null) { itemdata.m_prop = prop; //todo 临时修改礼盒最前面 if (itemdata.m_prop.type == (int)PROP_TYPE.E_GIFT) { m_giftData.Add(itemdata); } else { pdata.m_itemdata.Add(itemdata); } } else { Debug.LogError("item id is not exist:" + markitem.SellId); } } } pdata.m_itemdata.InsertRange(0, m_giftData); ShopDataCache[shopdata.Category] = pdata; return(pdata); }
private void ShowBuyPopView(ShopItemData data_) { m_gameInternalShopComponent.SetBuyItemInfo(data_); m_gameInternalShopComponent.Visible = true; }