コード例 #1
0
    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);
    }
コード例 #2
0
    //---------------------------------------------------------------------------

    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);
        }
    }