Пример #1
0
    public void SetData(ProtoBattleVideoInfo data)
    {
        this.data        = data;
        idText.text      = data.uid_local + "";
        countText.text   = data.view_count + "";
        versionText.text = "V." + data.war_version;

        string name = "";

        for (int i = 0; i < data.fight_roles.Count; i++)
        {
            ProtoBattleVideoRoleInfo role = data.fight_roles[i];
            name += role.role_info.name;
            if (i < data.fight_roles.Count - 1)
            {
                name += "   VS   ";
            }
        }
        nameText.text       = name;
        createTimeText.text = DateTimeUtils.DateStringFromNow(data.create_time);
    }
Пример #2
0
        void GenerateProtoBattleVideoRoleInfoList(WarOverData overData, List <ProtoBattleVideoRoleInfo> fight_roles)
        {
            Dictionary <int, ProtoFightRoleInfo> fightRoleInfoDict = new Dictionary <int, ProtoFightRoleInfo> ();
            int ownChangePrize = 0;

            if (War.endProto != null)
            {
                foreach (ProtoFightRoleInfo roleInfo in War.endProto.fight_roles)
                {
                    Debug.Log("roleInfo.role_info.roleId=" + roleInfo.role_info.roleId);
                    fightRoleInfoDict.Add(roleInfo.role_info.roleId, roleInfo);
                }

                ownChangePrize = War.endProto.prize - fightRoleInfoDict [War.ownLegionData.roleId].role_info.prize;
            }

            foreach (WarOverLegionData overLegionData in overData.legionDatas)
            {
                WarEnterLegionData enterLegionData = overData.enterData.GetEnterLegionData(overLegionData.legionId);

                if (enterLegionData == null)
                {
                    Debug.LogFormat("<color=red>生成录像信息时 legionId={0} enterLegionData=null</color>", overLegionData.legionId);
                    continue;
                }

                ProtoBattleVideoRoleInfo videoRole = new ProtoBattleVideoRoleInfo();
                videoRole.end_type     = (int)overLegionData.overType;
                videoRole.final_house  = overLegionData.buildCount;
                videoRole.final_star   = overLegionData.starCount;
                videoRole.change_prize = enterLegionData.legionId == War.ownLegionID ? ownChangePrize : -ownChangePrize;

                if (fightRoleInfoDict.ContainsKey(enterLegionData.roleId))
                {
                    ProtoFightRoleInfo protoFightRoleInfo = fightRoleInfoDict [enterLegionData.roleId];
                    videoRole.role_info   = protoFightRoleInfo.role_info;
                    videoRole.battle_info = protoFightRoleInfo.battle_info;
                    videoRole.league_info = protoFightRoleInfo.league_info;
                    videoRole.rank        = protoFightRoleInfo.rank;

                    protoFightRoleInfo.role_info.name = enterLegionData.name;
                }
                else
                {
                    ProtoRoleBaseInfo roleBase = videoRole.role_info = new ProtoRoleBaseInfo();
                    roleBase.roleId = enterLegionData.roleId;
                    roleBase.name   = enterLegionData.name;
                    roleBase.icon   = enterLegionData.headAvatarId;



                    ProtoRoleBattleInfo roleBattle = videoRole.battle_info = new ProtoRoleBattleInfo();
                    roleBattle.battle_soldier = enterLegionData.solider.avatarId;
                    foreach (WarEnterHeroData enterHeroData in enterLegionData.heroList)
                    {
                        ProtoCardInfo card = new ProtoCardInfo();
                        card.card_id = enterHeroData.heroId;
                        card.level   = enterHeroData.level;

                        roleBattle.battle_cards.Add(card);
                    }
                }

                fight_roles.Add(videoRole);
            }
        }