void OnSorted() { var runes = m_SortInfo.GetSortedRunes(); List <RuneItem> items = new List <RuneItem>(); for (int i = 0; i < m_RuneGrid.transform.childCount; ++i) { items.Add(m_RuneGrid.transform.GetChild(i).gameObject.GetComponent <RuneItem>()); } m_RuneGrid.transform.DetachChildren(); foreach (Rune rune in runes) { RuneItem item = items.Find(i => i.Rune == rune); if (item == null) { continue; } item.Init(item.Rune, item.m_lock_toggle.value, OnClickRune); m_RuneGrid.AddChild(item.transform, false); items.Remove(item); } foreach (var item in items) { m_RuneGrid.AddChild(item.transform, false); } m_RuneGrid.Reposition(); m_RuneScroll.ResetPosition(); }
void OnRuneUpgradeAckHandler(C2G.RuneUpgrade send, C2G.RuneUpgradeAck recv) { Network.PlayerInfo.UseGoods(recv.use_goods); GameMain.Instance.UpdatePlayerInfo(); m_UpgradeRune.Init(null, false, null); m_UpgradeMaterials.ForEach(item => { RuneManager.Instance.RemoveRune(item.Rune); item.Init(null, false, null); }); RuneManager.Instance.Add(recv.rune_info); Popup.Instance.Show(ePopupMode.LootItem, new LootItemInfo(recv.rune_info.rune_idn, 1)); RefreshInfo(); InitRuneItem(); InitBatchLabel(); ReloadBlockCheckRunes(); }
void InitRuneItem() { runeItemPrefabManager.Clear(); m_HeroRunes = new List <RuneItem>(); for (int i = 0; i < 10; ++i) { var rune = runeItemPrefabManager.GetNewObject <RuneItem>(m_HeroRuneGrid.transform, Vector3.zero); if (i < m_Creature.Runes.Count) { rune.Init(m_Creature.Runes[i], i >= m_Creature.RuneSlotCount, OnClickEquippedRune, i); } else { rune.Init(null, i >= m_Creature.RuneSlotCount, null, i); } m_HeroRunes.Add(rune); } m_HeroRuneGrid.Reposition(); m_Runes = new List <RuneItem>(); var runes = m_SortInfo.GetSortedRunes(); m_RuneCount = runes.Count; foreach (Rune rune in runes) { RuneItem item = runeItemPrefabManager.GetNewObject <RuneItem>(m_RuneGrid.transform, Vector3.zero); item.Init(rune, false, OnClickRune); m_Runes.Add(item); } for (int i = 0; i < 5; ++i) { var item = runeItemPrefabManager.GetNewObject <RuneItem>(m_RuneGrid.transform, Vector3.zero); item.InitDummy(); } m_RuneGrid.Reposition(); m_RuneScroll.ResetPosition(); m_LabelTitle.text = string.Format("{0} {1} {2}", m_Creature.GetLevelText(), m_Creature.Info.Name, m_Creature.GetEnchantText()); RefreshInfo(); }
public void Init(Rune rune, bool equipped, OnRuneClickDelegate del) { m_OnClickCallback = del; Rune = rune; if (m_RuneItem == null) { m_RuneItem = NGUITools.AddChild(m_RuneIndicator.gameObject, runeItemPrefab).GetComponent <RuneItem>(); } m_EquippedToggle.value = equipped; m_RuneItem.Init(Rune, false, null); m_title.text = Rune.GetName(); m_desc.text = Rune.GetDesc(); m_tween.ResetToBeginning(); m_tween.PlayForward(); m_EventRuneUnequip.SetActive(EventHottimeManager.Instance.IsRuneUnequipEvent); m_EventRuneEnchant.SetActive(EventHottimeManager.Instance.IsRuneEnchantEvent); }
void OnRuneUnequip(C2G.RuneUnequip packet, C2G.RuneUnequipAck ack) { RuneManager.Instance.UnEquipRune(packet.rune_idx); RuneItem item = m_HeroRunes.Find(r => r.Rune != null && r.Rune.RuneIdx == packet.rune_idx); Rune rune = item.Rune; ++m_RuneCount; RemoveHeroRune(item); RuneItem new_item = runeItemPrefabManager.GetNewObject <RuneItem>(m_RuneGrid.transform, Vector3.zero); new_item.Init(rune, false, OnClickRune); m_Runes.Add(new_item); OnSorted(); Network.PlayerInfo.UseGoods(ack.use_goods); GameMain.Instance.UpdatePlayerInfo(); RefreshInfo(); }