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]; }
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(); } }