Пример #1
0
        /// <summary>
        /// 获取武将基本信息
        /// </summary>
        /// <param name="queueID">队列ID</param>
        /// <param name="cHeroList">战斗基本信息</param>
        /// <param name="remainHpList">剩余血量信息</param>
        /// <returns>武将信息</returns>
        private CQueueBaseInfo GetQueueBaseInfo(Int32 queueID, List <ClientHero> cHeroList, List <RemainHp> remainHpList)
        {
            var queueBaseInfo = new CQueueBaseInfo()
            {
                QueueID           = queueID,
                CHeroBaseInfoList = new List <CHeroBaseInfo>(),
            };

            // 构造武将信息
            foreach (var item in cHeroList)
            {
                queueBaseInfo.CHeroBaseInfoList.Add(new CHeroBaseInfo()
                {
                    HeroID      = item.HeroID,
                    Name        = item.Name,
                    Formation   = item.Formation,
                    Exp         = item.Exp,
                    Lv          = item.Lv,
                    ArmyCount   = item.HP,
                    FAP         = item.Fap,
                    KillCount   = (remainHpList == null || remainHpList.Count <= 0) ? 0 : remainHpList.FirstOrDefault(p => p.Formation == item.Formation).Damage,
                    StarNum     = item.StarNum,
                    StepNum     = item.StepNum,
                    StepStarNum = item.StepStarNum
                });
            }

            return(queueBaseInfo);
        }
Пример #2
0
        /// <summary>
        /// 组装战斗队列信息
        /// </summary>
        /// <returns></returns>
        private Dictionary <Guid, List <CQueueBaseInfo> > GetQueueBaseInfo()
        {
            // 组装战斗初始数据
            var dict = new Dictionary <Guid, List <CQueueBaseInfo> >();
            Action <List <QueueRemainHp> > action = (queueRemainHPList) =>
            {
                foreach (var item in queueRemainHPList)
                {
                    if (dict.ContainsKey(item.PlayerID) == false)
                    {
                        dict[item.PlayerID] = new List <CQueueBaseInfo>();
                    }

                    // 组装队列信息
                    var queueInfo = new CQueueBaseInfo
                    {
                        QueueID           = item.QueueID,
                        CHeroBaseInfoList = new List <CHeroBaseInfo>(),
                    };

                    dict[item.PlayerID].Add(queueInfo);

                    // 组装基本数据
                    foreach (var remainHp in item.RemainHpList)
                    {
                        queueInfo.CHeroBaseInfoList.Add(
                            new CHeroBaseInfo()
                        {
                            ArmyCount   = remainHp.MHP,
                            Formation   = remainHp.Formation,
                            HeroID      = remainHp.HeroID,
                            Name        = String.Empty,
                            StepStarNum = remainHp.StepStarNum,
                        });
                    }
                }
            };

            // 组装基本数据
            action(FightResponseInfo.AtkRemainHpList);
            action(FightResponseInfo.DefRemainHpList);

            return(dict);
        }