void OnEquipConfirm(bool confirm) { if (confirm == false) { return; } C2G.RuneEquip packet = new C2G.RuneEquip(); packet.rune_idx = m_PopupRune.Rune.RuneIdx; packet.rune_id = m_PopupRune.Rune.Info.ID; packet.creature_idx = m_Creature.Idx; packet.creature_id = m_Creature.Info.ID; if (Tutorial.Instance.Completed == false) { C2G.TutorialState tutorial_packet = new C2G.TutorialState(); tutorial_packet.tutorial_state = Network.PlayerInfo.tutorial_state; tutorial_packet.next_tutorial_state = (short)Tutorial.Instance.CurrentState; tutorial_packet.rune_equip = packet; Network.GameServer.JsonAsync <C2G.TutorialState, C2G.TutorialStateAck>(tutorial_packet, OnRuneEquipTutorial); } else { Network.GameServer.JsonAsync <C2G.RuneEquip, NetworkCore.AckDefault>(packet, OnRuneEquip); } }
void OnRuneEquip(C2G.RuneEquip packet, NetworkCore.AckDefault ack) { RuneManager.Instance.EquipRune(packet.rune_idx, packet.creature_idx); RuneItem item = m_Runes.Find(r => r.Rune.RuneIdx == packet.rune_idx); int find_index = m_HeroRunes.FindIndex(r => r.Rune == null); m_HeroRunes[find_index].Init(item.Rune, find_index >= m_Creature.RuneSlotCount, OnClickEquippedRune); RemoveRune(item); RefreshInfo(); if (Tutorial.Instance.Completed == false) { Tutorial.Instance.AfterNetworking(); } Tooltip.Instance.ShowMessageKey("RuneEquipSuccess"); }