Example #1
0
    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();
    }
Example #2
0
    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);
    }