void OnWorldBossGetBattleInfoHandler(C2G.WorldBossGetBattleInfo packet, C2G.WorldBossGetBattleInfoAck ack) { TeamData team_data = new TeamData(ack.team_data.team_type, null); List <Creature> Creatures = new List <Creature>(); for (int i = 0; i < ack.creatures.Count; ++i) { List <pd_EquipData> equips = ack.equips.FindAll(e => e.creature_idx == ack.creatures[i].creature_idx); pd_EquipData weapon = equips.Find(e => EquipInfoManager.Instance.GetInfoByIdn(e.equip_idn).CategoryInfo.EquipType == SharedData.eEquipType.weapon); pd_EquipData armor = equips.Find(e => EquipInfoManager.Instance.GetInfoByIdn(e.equip_idn).CategoryInfo.EquipType == SharedData.eEquipType.armor); List <Rune> runes = ack.runes.FindAll(r => r.creature_idx == ack.creatures[i].creature_idx).Select(e => new Rune(e)).ToList(); Creatures.Add(new Creature(ack.creatures[i], weapon, armor, runes)); } team_data.SetCreatures(ack.team_data.creature_infos.Select(c => new TeamCreature(Creatures.Find(lc => lc.Idx == c.team_creature_idx), c.auto_skill_index)).ToList(), false); if (ack.team_data.leader_creature_idx > 0) { Creature leader_creature = Creatures.Find(c => c.Idx == ack.team_data.leader_creature_idx); if (leader_creature != null) { team_data.SetLeaderCreature(leader_creature, ack.team_data.use_leader_skill_type); } } Popup.Instance.Show(ePopupMode.WorldBossPlayerInfo, m_WorldBossInfo, team_data); }
//--------------------------------------------------------------------------- public void OnClickDetail() { if (m_PVPInfo != null) { C2G.PvpGetBattleInfo packet = new C2G.PvpGetBattleInfo(); packet.enemy_account_idx = m_PVPInfo.account_idx; Network.GameServer.JsonAsync <C2G.PvpGetBattleInfo, C2G.PvpGetBattleInfoAck>(packet, OnPvpGetBattleInfoHandler); } else if (m_WorldBossInfo != null) { C2G.WorldBossGetBattleInfo packet = new C2G.WorldBossGetBattleInfo(); packet.ranker_account_idx = m_WorldBossInfo.account_idx; Network.GameServer.JsonAsync <C2G.WorldBossGetBattleInfo, C2G.WorldBossGetBattleInfoAck>(packet, OnWorldBossGetBattleInfoHandler); } }