void OnSorted() { m_Creatures = m_SortInfo.GetSortedCreatures(); List <HeroesInfoItem> items = new List <HeroesInfoItem>(); for (int i = 0; i < m_HeroGrid.transform.childCount; ++i) { items.Add(m_HeroGrid.transform.GetChild(i).gameObject.GetComponent <HeroesInfoItem>()); } m_HeroGrid.transform.DetachChildren(); foreach (Creature creature in m_Creatures) { if (creature.Grade == 0) { continue; } HeroesInfoItem item = items.Find(i => i.Creature == creature); item.transform.SetParent(m_HeroGrid.transform, true); items.Remove(item); } foreach (var item in items) { item.transform.SetParent(m_HeroGrid.transform, true); } m_HeroGrid.Reposition(); m_HeroScroll.ResetPosition(); }
void InitHeroItem() { m_HeroScroll.transform.parent.gameObject.SetActive(true); m_PartyScroll.gameObject.SetActive(false); m_PieceScroll.gameObject.SetActive(false); m_BookPanel.SetActive(false); heroItemPrefabManager.Clear(); m_Creatures = m_SortInfo.GetSortedCreatures(); foreach (Creature creature in m_Creatures) { if (creature.Grade == 0) { continue; } HeroesInfoItem item = heroItemPrefabManager.GetNewObject <HeroesInfoItem>(m_HeroGrid.transform, Vector3.zero); item.Init(creature, OnSelectCharacter); } int count = m_HeroGrid.transform.childCount; while (count++ % m_HeroGrid.maxPerLine != 0) { HeroesInfoItem item = heroItemPrefabManager.GetNewObject <HeroesInfoItem>(m_HeroGrid.transform, Vector3.zero); item.Init(null, null); } m_HeroGrid.Reposition(); m_HeroScroll.ResetPosition(); RefreshInfo(); UpdateSalePrice(0); }
void OnSelectCharacter(HeroesInfoItem item) { if (m_HeroSalePanel.activeSelf == false) { MenuParams menu = new MenuParams(); menu.AddParam("Creature", item.Creature); menu.AddParam("Creatures", m_Creatures); GameMain.Instance.ChangeMenu(GameMenu.HeroInfoDetail, menu); } else { if (item.m_SpriteSelected.gameObject.activeSelf == true) { item.SetSelect(false); m_SaleSelected.Remove(item); UpdateSalePrice(m_SalePrice - item.Creature.SalePrice); } else {//select if (item.Creature.IsLock) { Popup.Instance.ShowMessageKey("HeroSaleConfirmTeamLocked"); return; } if (TeamDataManager.Instance.CheckTeam(item.Creature.Idx, PacketEnums.pe_Team.PVP_Defense) == true) { m_SelectConfirmItem = item; Popup.Instance.ShowMessageKey("HeroSaleConfirmTeamPVPDefense"); return; } if (TeamDataManager.Instance.CheckTeam(item.Creature.Idx) != PacketEnums.pe_Team.Invalid) { m_SelectConfirmItem = item; Popup.Instance.ShowConfirmKey(new PopupConfirm.Callback(OnSelectSaleConfirm), "HeroSaleConfirmTeam"); return; } if (item.Creature.Enchant > 0) { m_SelectConfirmItem = item; Popup.Instance.ShowConfirmKey(new PopupConfirm.Callback(OnSelectSaleConfirm), "SelectCreatureConfirmEnchanted"); return; } if (item.Creature.Armor.EnchantLevel > 0 || item.Creature.Weapon.EnchantLevel > 0) { m_SelectConfirmItem = item; Popup.Instance.ShowConfirmKey(new PopupConfirm.Callback(OnSelectSaleConfirm), "SelectCreatureConfirmEquipEnchanted"); return; } if (item.Creature.Runes.Count > 0) { m_SelectConfirmItem = item; Popup.Instance.ShowConfirmKey(new PopupConfirm.Callback(OnSelectSaleConfirm), "SelectCreatureConfirmEquipRune"); return; } item.SetSelect(true); m_SaleSelected.Add(item); UpdateSalePrice(m_SalePrice + item.Creature.SalePrice); } } }