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