Beispiel #1
0
    public void Init(LootItemInfo info)
    {
        if (m_RewardItem == null)
        {
            m_RewardItem = NGUITools.AddChild(gameObject, RewardItemPrefab).GetComponent <RewardItem>();
        }

        var item_info = ItemInfoManager.Instance.GetInfoByIdn(info.idn);

        m_RewardItem.InitReward(item_info.IDN, info.value);
        m_RewardItem.m_Notifies[0].SetActive(info.notify);

        m_ItemName.text = item_info.Name;

        m_Tween.Play(true);
    }
Beispiel #2
0
    override public void SetParams(bool is_new, object[] parms)
    {
        base.SetParams(is_new, parms);
        loot_item_info = (LootItemInfo)parms[0];
        if (parms.Length >= 2)
        {
            m_StoreItem = parms[1] as StoreItem;
        }
        else
        {
            m_StoreItem = null;
        }
        m_btnPurchase.gameObject.SetActive(m_StoreItem != null);

        Init();
    }
Beispiel #3
0
    void OnLootItem(C2G.StoreLootItem packet, C2G.StoreLootItemAck ack)
    {
        if (packet.is_free == true)
        {
            if (m_StoreLootInfo == null)
            {
                m_StoreLootInfo                 = new pd_StoreLootInfo();
                m_StoreLootInfo.loot_id         = m_ItemLoot.ID;
                m_StoreLootInfo.available_count = m_ItemLoot.refresh_count;
                m_StoreLootInfo.daily_index     = Network.DailyIndex;
                m_StoreLootInfo.weekly_index    = Network.WeeklyIndex;
            }
            m_StoreLootInfo.available_count--;
            m_StoreLootInfo.available_time = Network.Instance.ServerTime.AddMinutes(m_ItemLoot.refresh_free);
            m_Free.SetActive(false);
            m_Normal.SetActive(true);
        }
        else
        {
            Network.PlayerInfo.UseGoods(m_ItemLoot.Price);
        }

        GameMain.Instance.UpdatePlayerInfo();

        LootItemInfo loot_item_info = null;

        if (ack.loot_item != null)
        {
            ItemManager.Instance.Add(ack.loot_item);
            loot_item_info = new LootItemInfo(ack.loot_item.item_idn, ack.loot_item.add_piece_count);
        }
        else
        {
            RuneManager.Instance.Add(ack.loot_rune);
            loot_item_info = new LootItemInfo(ack.loot_rune.rune_idn, 0);
        }
        Popup.Instance.Show(ePopupMode.LootItem, loot_item_info, this);

        GameMain.Instance.GetCurrentMenu().GetComponent <Store>().UpdateStoreLootFree();
    }