void InitStoreItem(StoreInfo info, C2G.StoreLimitInfoGetAck ack) { m_BottomToggle.value = true; Array.ForEach(m_Grid.GetComponentsInChildren(typeof(StoreItem), true), i => DestroyImmediate(i.gameObject)); for (int i = 0; i < info.m_GoodsItem.Count; ++i) { StoreItem item = NGUITools.AddChild(m_Grid.gameObject, StoreItemPrefab).GetComponent <StoreItem>(); pd_StoreLimitInfo limit_info = null; if (ack.infos != null) { limit_info = ack.infos.Find(e => e.item_id == info.m_GoodsItem[i].ID); } item.Init(info.m_GoodsItem[i], limit_info); } m_Grid.Reposition(); UIScrollView scroll = m_Grid.GetComponentInParent <UIScrollView>(); if (scroll != null) { scroll.ResetPosition(); } UpdateBottomDesc(); }
public void Init(StoreGoodsItem item, pd_StoreLimitInfo limit_info) { m_ItemGoods = item; gameObject.SetActive(true); m_ItemName.text = m_ItemGoods.Name; m_SpriteStoreItem.spriteName = m_ItemGoods.Image; m_Event.SetActive(m_ItemGoods.Event); m_Bonus.SetActive(false); if (m_ItemGoods.bonus > 0) { m_Bonus.SetActive(true); m_BonusIcon.spriteName = m_ItemGoods.TagetIconID; //m_BonusIcon.MakePixelPerfect(); m_BonusText.text = Localization.Format("GoodsFormat", m_ItemGoods.bonus); } else if (m_ItemGoods.mileage > 0) { m_Bonus.SetActive(true); m_BonusIcon.spriteName = pe_GoodsType.token_mileage.ToString(); m_BonusText.text = Localization.Format("GoodsFormat", m_ItemGoods.mileage); } m_StoreLimitInfo = limit_info; if (m_StoreLimitInfo == null) { m_StoreLimitInfo = new pd_StoreLimitInfo(); } if (m_StoreLimitInfo.daily_index != Network.DailyIndex || m_StoreLimitInfo.weekly_index != Network.WeeklyIndex) { if (m_ItemGoods.limit > 0) { m_StoreLimitInfo.available_count = m_ItemGoods.limit; } else { m_StoreLimitInfo.available_count = short.MaxValue; } m_StoreLimitInfo.daily_index = Network.DailyIndex; m_StoreLimitInfo.weekly_index = Network.WeeklyIndex; } if (m_ItemGoods.NeedItem != null && ItemManager.Instance.GetItemByIdn(m_ItemGoods.NeedItem.IDN) == null) { m_NeedTicket.SetActive(true); m_LabelNeedTicket.text = Localization.Get("NeedTicket"); } else { m_NeedTicket.SetActive(m_ItemGoods.limit > 0); //m_LabelNeedTicket.text = Localization.Format("StoreLimit", m_ItemGoods.limit, m_StoreLimitInfo.available_count); } m_UseIcon.spriteName = m_ItemGoods.PriceIconID; m_Price.text = Localization.Format("GoodsFormat", m_ItemGoods.Price.goods_value); m_Free.SetActive(false); m_Normal.SetActive(true); m_LabelDescTop.gameObject.SetActive(false); }