public void RefreshPetBookPage() { Hashtable list = null; list = sdConfDataMgr.Instance().GetPetTemplateTable(); if (list == null) { return; } //将宠物图鉴装备数据填充到List中,用来排序.. List <SPetSmallClass> listTujian = new List <SPetSmallClass>(); foreach (DictionaryEntry info in list) { Hashtable petInfo = sdConfDataMgr.Instance().GetPetTemplate(info.Key.ToString()); if (petInfo != null) { SPetSmallClass classItem = new SPetSmallClass(); classItem.iTemplateID = int.Parse(info.Key.ToString()); classItem.iAbility = int.Parse(petInfo["Ability"].ToString()); listTujian.Add(classItem); } } listTujian.Sort(SPetSmallClass.PetTujianSortByAbilityBeginBig); int num = list.Count; int iZero = 0; if (num < 10) { iZero = 10 - num; } else { int iLast = num % 5; if (iLast > 0) { iZero = 5 - iLast; } } num = num + iZero; int count = petbookInfoList.Count; if (num > count) { num = num - count; for (int i = 0; i < num; ++i) { GameObject tempItem = GameObject.Instantiate(copyBookItem) as GameObject; tempItem.GetComponent <sdUIPetTujianCard>().index = count; tempItem.transform.parent = copyBookItem.transform.parent; tempItem.transform.localPosition = copyBookItem.transform.localPosition; tempItem.transform.localScale = copyBookItem.transform.localScale; Vector3 pos = tempItem.transform.localPosition; pos.y = pos.y - (276 * (count / 5)); int iX = (count % 5) * 225; pos.x += iX; tempItem.transform.localPosition = pos; petbookInfoList.Add(petbookInfoList.Count, tempItem.GetComponent <sdUIPetTujianCard>()); ++count; } } IDictionaryEnumerator iter = petbookInfoList.GetEnumerator(); foreach (SPetSmallClass infoEntry in listTujian) { if (iter.MoveNext()) { sdUIPetTujianCard icon = iter.Value as sdUIPetTujianCard; icon.ReflashPetIconUI(infoEntry.iTemplateID); if (sdNewPetMgr.Instance.IsPetHasGetted(infoEntry.iTemplateID) == true) { icon.SetGray(false); } else { icon.SetGray(true); } } } //只显示底板的卡片.. for (int i = 0; i < iZero; i++) { if (iter.MoveNext()) { sdUIPetTujianCard icon = iter.Value as sdUIPetTujianCard; icon.ReflashPetIconUI(0); } } while (iter.MoveNext()) { sdUIPetTujianCard icon = iter.Value as sdUIPetTujianCard; icon.ReflashPetIconUI(-1); } if (copyBookItem != null) { copyBookItem.transform.parent.GetComponent <UIDraggablePanel>().ResetPosition(); } }
public void RefreshPetPaperPage() { Hashtable list = null; list = sdConfDataMgr.Instance().GetPetTemplateTable(); if (list == null) { return; } //将宠物碎片数据填充到List中,用来排序.. List <SPetSmallClass> listPaper1 = new List <SPetSmallClass>(); //碎片足够用来合成的.. List <SPetSmallClass> listPaper2 = new List <SPetSmallClass>(); //碎片不够用来合成的.. int iTemplateID = 0; int iCurNum = 0; int iMaxNum = 0; foreach (DictionaryEntry info in list) { Hashtable petInfo = sdConfDataMgr.Instance().GetPetTemplate(info.Key.ToString()); if (petInfo != null) { iTemplateID = int.Parse(info.Key.ToString()); if (iTemplateID > 0) { iCurNum = sdNewPetMgr.Instance.getPetGatherCurNumByPetId(iTemplateID); iMaxNum = sdNewPetMgr.Instance.getPetGatherMaxNumByPetId(iTemplateID); if (iCurNum > 0 && iMaxNum > 0) { SPetSmallClass classItem = new SPetSmallClass(); classItem.iTemplateID = int.Parse(info.Key.ToString()); classItem.iAbility = int.Parse(petInfo["Ability"].ToString()); classItem.iCurNum = iCurNum; classItem.iMaxNum = iMaxNum; if (iCurNum >= iMaxNum) { listPaper1.Add(classItem); } else { listPaper2.Add(classItem); } } } } } listPaper1.Sort(SPetSmallClass.PetTujianSortByAbilityBeginSmall); listPaper2.Sort(SPetSmallClass.PetTujianSortByAbilityBeginSmall); int num = listPaper1.Count + listPaper2.Count; int iZero = 0; if (num < 10) { iZero = 10 - num; } else { int iLast = num % 5; if (iLast > 0) { iZero = 5 - iLast; } } num = num + iZero; int count = petPaperInfoList.Count; if (num > count) { num = num - count; for (int i = 0; i < num; ++i) { GameObject tempItem = GameObject.Instantiate(copyItem) as GameObject; tempItem.GetComponent <sdUIPetPaperCard>().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 - (276 * (count / 5)); int iX = (count % 5) * 225; pos.x += iX; tempItem.transform.localPosition = pos; petPaperInfoList.Add(petPaperInfoList.Count, tempItem.GetComponent <sdUIPetPaperCard>()); ++count; } } IDictionaryEnumerator iter = petPaperInfoList.GetEnumerator(); foreach (SPetSmallClass infoEntry in listPaper1) { if (iter.MoveNext()) { sdUIPetPaperCard icon = iter.Value as sdUIPetPaperCard; icon.m_iCurNum = infoEntry.iCurNum; icon.m_iMaxNum = infoEntry.iMaxNum; icon.ReflashPetIconUI(infoEntry.iTemplateID); } } foreach (SPetSmallClass infoEntry in listPaper2) { if (iter.MoveNext()) { sdUIPetPaperCard icon = iter.Value as sdUIPetPaperCard; icon.m_iCurNum = infoEntry.iCurNum; icon.m_iMaxNum = infoEntry.iMaxNum; icon.ReflashPetIconUI(infoEntry.iTemplateID); } } //只显示底板的卡片.. for (int i = 0; i < iZero; i++) { if (iter.MoveNext()) { sdUIPetPaperCard icon = iter.Value as sdUIPetPaperCard; icon.ReflashPetIconUI(0); } } while (iter.MoveNext()) { sdUIPetPaperCard icon = iter.Value as sdUIPetPaperCard; icon.ReflashPetIconUI(-1); } if (copyItem != null) { copyItem.transform.parent.GetComponent <UIDraggablePanel>().ResetPosition(); } }