public override bool OnMsg(UIMsgID msgid, object param) { if (UIMsgID.eUseItemRefresh == msgid) { if (m_currUICommonUseItemGrid != null) { UseItemEnum type = (UseItemEnum)param; switch (type) { case UseItemEnum.None: break; case UseItemEnum.RideExp: m_currUICommonUseItemGrid.Data.useNum = (uint)DataManager.Manager <RideManager>().GetUseitemNum(m_currUICommonUseItemGrid.Data.itemid); break; default: break; } m_currUICommonUseItemGrid.RefreshItemNum(); UpdateSlider(); } } else if (UIMsgID.eShowUI == msgid) { UseItemCommonPanel.UseItemParam showInfo = (UseItemCommonPanel.UseItemParam)param; OnShow(param); } return(base.OnMsg(msgid, param)); }
void InitPetData(UseItemEnum type) { if (CurPet == null) { return; } UpdateSlider(); m_lstUseItemData.Clear(); string str = "ExpItem"; if (type == UseItemEnum.PetLife) { str = "LifeItem"; m_label_title.text = CommonData.GetLocalString(" 珍兽寿命"); } else if (type == UseItemEnum.PetExp) { str = "ExpItem"; m_label_title.text = petDataManager.GetCurPetLevelStr(); } else { return; } List <string> itemList = GameTableManager.Instance.GetGlobalConfigKeyList(str); PetDataBase pdb = GameTableManager.Instance.GetTableItem <PetDataBase>(CurPet.PetBaseID); if (pdb == null) { return; } uint carryLevel = (uint)petDataManager.GetCurPetLevel(); #region 从lua里面拿出来的数据无序 要先排序 List <uint> tempList = new List <uint>(); foreach (var strID in itemList) { uint id = uint.Parse(strID); tempList.Add(id); } tempList.Sort((x1, x2) => { if (x1 > x2) { return(1); } else if (x1 < x2) { return(-1); } else { return(0); } }); List <uint> itemIDList = new List <uint>(); #endregion for (int i = 0; i < tempList.Count; i++) { uint id = tempList[i]; itemIDList.Add(id); //if (type == UseItemEnum.PetLife) //{ // int firstLevel = GameTableManager.Instance.GetGlobalConfig<int>("PetFirstLevel"); // int secondLevel = GameTableManager.Instance.GetGlobalConfig<int>("PetSecondLevel"); // if (carryLevel < firstLevel) // { // if (i == 0 || i == 3) // { // itemIDList.Add(id); // } // } // else if (carryLevel > secondLevel) // { // if (i == 2 || i == 5) // { // itemIDList.Add(id); // } // } // else // { // if (i == 1 || i == 4) // { // itemIDList.Add(id); // } // } //} //else //{ // itemIDList.Add(id); //} } itemIDList.Sort((x1, x2) => { if (x1 > x2) { return(1); } else if (x1 < x2) { return(-1); } else { return(0); } }); if (type == UseItemEnum.PetExp) { List <uint> hasList = new List <uint>(); List <uint> noList = new List <uint>(); for (int i = 0; i < itemIDList.Count; i++) { uint id = itemIDList[i]; int count = DataManager.Manager <ItemManager>().GetItemNumByBaseId(id); if (count != 0) { hasList.Add(id); } else { noList.Add(id); } } itemIDList.Clear(); itemIDList.AddRange(hasList); itemIDList.AddRange(noList); } for (int i = 0; i < itemIDList.Count; i++) { UseItemData itemdata = new UseItemData(); itemdata.parent = this; itemdata.itemid = (itemIDList[i]); itemdata.useNum = (uint)1; m_lstUseItemData.Add(itemdata); } }