public void RefreshPetItemListPage() { if (copyItem == null) { return; } Hashtable list = null; list = sdNewPetMgr.Instance.getAllPetItemByCharacter((int)m_Type); //将宠物装备数据填充到List中,用来排序.. List <sdGamePetItem> listEquip = new List <sdGamePetItem>(); foreach (DictionaryEntry info in list) { sdGamePetItem info1 = info.Value as sdGamePetItem; listEquip.Add(info1); } if (m_iSortType == (int)PetItemSortType.PetItem_SortBy_Value) { listEquip.Sort(sdGamePetItem.PetItemSortByValue); } else if (m_iSortType == (int)PetItemSortType.PetItem_SortBy_Color) { listEquip.Sort(sdGamePetItem.PetItemSortByColor); } int num = list.Count; int count = petItemList.Count; if (num > count) { num = num - count; for (int i = 0; i < num; ++i) { GameObject tempItem = GameObject.Instantiate(copyItem) as GameObject; tempItem.GetComponent <sdUIPetEquipIcon>().index = count; tempItem.transform.parent = copyItem.transform.parent; tempItem.transform.localPosition = copyItem.transform.localPosition; tempItem.transform.localScale = copyItem.transform.localScale; Vector3 pos = tempItem.transform.localPosition; pos.y = pos.y - (114 * (count / 3)); int iX = (count % 3) * 400; pos.x += iX; tempItem.transform.localPosition = pos; tempItem.GetComponent <sdUIPetEquipIcon>().bSelect = false; petItemList.Add(petItemList.Count, tempItem.GetComponent <sdUIPetEquipIcon>()); ++count; } } IDictionaryEnumerator iter = petItemList.GetEnumerator(); foreach (sdGamePetItem infoEntry in listEquip) { if (iter.MoveNext()) { sdUIPetEquipIcon icon = iter.Value as sdUIPetEquipIcon; icon.SetIdAndReflashUI(infoEntry.instanceID); } } while (iter.MoveNext()) { sdUIPetEquipIcon icon = iter.Value as sdUIPetEquipIcon; icon.SetIdAndReflashUI(UInt64.MaxValue); } }
public void RefreshPetItemListPage() { Hashtable list = null; list = sdNewPetMgr.Instance.petItemDB; //将宠物装备数据填充到List中,用来排序.. List <sdGamePetItem> listEquip1 = new List <sdGamePetItem>(); List <sdGamePetItem> listEquip2 = new List <sdGamePetItem>(); foreach (DictionaryEntry info in list) { sdGamePetItem item = info.Value as sdGamePetItem; if (item.iCharacter == m_iSortSubClass || m_iSortSubClass == (int)PetEquipType.Pet_EquipType_all) { listEquip1.Add(item); } else if (item.iCharacter != m_iSortSubClass && m_iSortSubClass != (int)PetEquipType.Pet_EquipType_all) { listEquip2.Add(item); } } listEquip1.Sort(sdGamePetItem.PetItemSortByValue); listEquip2.Sort(sdGamePetItem.PetItemSortByValue); int num = list.Count; int count = petItemList.Count; if (num > count) { num = num - count; for (int i = 0; i < num; ++i) { GameObject tempItem = GameObject.Instantiate(copyItem) as GameObject; tempItem.GetComponent <sdUIPetEquipIcon>().index = count; tempItem.transform.parent = copyItem.transform.parent; tempItem.transform.localPosition = copyItem.transform.localPosition; tempItem.transform.localScale = copyItem.transform.localScale; Vector3 pos = tempItem.transform.localPosition; pos.y = pos.y - (114 * (count / 2)); int iX = (count % 2) * 400; pos.x += iX; tempItem.transform.localPosition = pos; tempItem.GetComponent <sdUIPetEquipIcon>().bSelect = false; petItemList.Add(petItemList.Count, tempItem.GetComponent <sdUIPetEquipIcon>()); ++count; } } IDictionaryEnumerator iter = petItemList.GetEnumerator(); foreach (sdGamePetItem infoEntry in listEquip1) { if (iter.MoveNext()) { sdUIPetEquipIcon icon = iter.Value as sdUIPetEquipIcon; icon.SetIdAndReflashUI(infoEntry.instanceID); } } foreach (sdGamePetItem infoEntry in listEquip2) { if (iter.MoveNext()) { sdUIPetEquipIcon icon = iter.Value as sdUIPetEquipIcon; icon.SetIdAndReflashUI(infoEntry.instanceID); } } while (iter.MoveNext()) { sdUIPetEquipIcon icon = iter.Value as sdUIPetEquipIcon; icon.SetIdAndReflashUI(UInt64.MaxValue); } if (copyItem != null) { copyItem.transform.parent.GetComponent <UIDraggablePanel>().ResetPosition(); } }