Example #1
0
 public override void OnBindData(params object[] param)
 {
     _itemList  = param[0] as List <ItemInfo>;
     _itemID    = (int)param[1];
     _count     = (int)param[2];
     _buyAction = (TavernBuyAction)param[3];
 }
Example #2
0
    private void OnTavernBuyOK(PComItemList ret, int itemID, int itemCount, TavernBuyAction buyAction)
    {
        // ui显示
        Debug.Log("OnTavernBuyOK");

        List <ItemInfo> list = new List <ItemInfo>();

        bool needRequestBagList  = false;
        bool needRequestHeroList = false;

        foreach (var item in ret.item)
        {
            ItemInfo itemInfo = new ItemInfo();
            itemInfo.Deserialize(item);


            if (itemInfo.Cfg.Type == (int)ItemType.CARD)
            {
                // 如果是英雄卡的话
                HeroInfo heroInfo = UserManager.Instance.GetHeroInfoByUnitID(itemInfo.Cfg.MatchHero);
                if (heroInfo != null)
                {
                    // 转换为灵魂石
                    //                    needRequestBagList = true;
                    //                    ItemInfo souldInfo = new ItemInfo();
                    //                    souldInfo.ConfigID = heroInfo.Cfg.Cost;
                    //                    souldInfo.Number = itemInfo.Cfg.SoulStoneNum;
                    //                    list.Add(itemInfo);
                }
                else
                {
                    list.Add(itemInfo);

                    // 获得新英雄
                    needRequestHeroList = true;
                }
            }
            else
            {
                if (!item.isFixGet)
                {
                    list.Add(itemInfo);
                }
            }
        }

        UIManager.Instance.OpenWindow <UITavernGetItemView>(list, itemID, itemCount, buyAction);

        // 添加物品
        UserManager.Instance.AddItem(ret, true);

        if (needRequestHeroList)
        {
            UserManager.Instance.RequestUserInfo();
        }
    }