public static void BuildManagerData(ManagerInput dstData, DTOBuffMemberView buffView, int vipLevel, int buffScale, bool isGuide = false) { if (null == dstData) { return; } dstData.Players = new List <PlayerInput>(11); var legendCount = 0; foreach (var buffMember in buffView.BuffMembers.Values) { if (buffMember.IsMain) { var cachePlayer = MatchDataUtil.GetDicPlayer(buffMember.Tid, buffMember.Pid); if (cachePlayer.CardLevel == 2 || cachePlayer.CardLevel == 1 || cachePlayer.CardLevel == 7 || cachePlayer.CardLevel == 8) { legendCount++; } } } buffScale += CacheFactory.AppsettingCache.GetSolutionLegendAndVipPlus(legendCount, vipLevel); double buffPlus = buffScale / 100.00; foreach (var buffMember in buffView.BuffMembers.Values) { if (buffMember.IsMain) { var cachePlayer = MatchDataUtil.GetDicPlayer(buffMember.Tid, buffMember.Pid); PlayerInput transferPlayerEntity = new PlayerInput(); transferPlayerEntity.FamilyName = cachePlayer.Name; transferPlayerEntity.Height = (int)cachePlayer.Stature; transferPlayerEntity.Pid = buffMember.Pid; transferPlayerEntity.Plus = (byte)buffMember.Strength; transferPlayerEntity.Position = (byte)buffMember.PPos; BuildTeammemberData(transferPlayerEntity, buffMember, buffPlus, isGuide); dstData.Players.Add(transferPlayerEntity); } } if (isGuide) { var list = CacheFactory.NpcdicCache.GetGuidePlayers(); int count = list.Count; int totalCount = dstData.Players.Count; for (int i = 1; i <= count; i++) { PlayerInputClone(dstData.Players[totalCount - i], list[i - 1]); } } }
static DTOBuffPlayer BuildPlayer(int level, int propertyPoint, int strength, int playerId, int equipId, string skill, int position, int buffScale, ref Dictionary <int, List <int> > suitDic, ref Dictionary <int, int> suitTypeDic) { DicPlayerEntity cfg = MatchDataUtil.GetDicPlayer(Guid.Empty, playerId); var rawProps = cfg.GetRawProps(); var obj = new DTOBuffPlayer(); obj.Pid = cfg.Idx; obj.Pos = position; obj.Clr = cfg.CardLevel; obj.Props = new DTOBuffProp[rawProps.Length]; for (int i = 0; i < rawProps.Length; ++i) { obj.Props[i] = new DTOBuffProp { Orig = rawProps[i] }; obj.Props[i].Percent = (buffScale - 100) / 100.00; } if (propertyPoint > 0) { switch (position) { case (int)EnumPosition.Forward: obj.Props[0].Point += propertyPoint; obj.Props[1].Point += propertyPoint; obj.Props[2].Point += propertyPoint; obj.Props[3].Point += propertyPoint; break; case (int)EnumPosition.Midfielder: obj.Props[10].Point += propertyPoint; obj.Props[11].Point += propertyPoint; obj.Props[12].Point += propertyPoint; obj.Props[3].Point += propertyPoint; break; case (int)EnumPosition.Fullback: obj.Props[7].Point += propertyPoint; obj.Props[8].Point += propertyPoint; obj.Props[9].Point += propertyPoint; break; case (int)EnumPosition.Goalkeeper: obj.Props[13].Point += propertyPoint; obj.Props[14].Point += propertyPoint; obj.Props[15].Point += propertyPoint; break; } } rawProps = null; obj.Level = level; obj.Strength = strength; obj.SBMList = new List <string>(); obj.ActionSkill = skill; //obj.StarSkill = CacheFactory.PlayersdicCache.GetStarSkill(obj.AsPid, obj.Strength); EquipmentUsedEntity equipment = null; if (equipId > 0) { equipment = new EquipmentUsedEntity(); equipment.Property = CacheFactory.EquipmentCache.RandomEquipmentPropertyForNpc(equipId); } //装备和副卡 //TeammemberDataHelper.FillEquipData(obj, equipment, null, null, ref suitDic, ref suitTypeDic); return(obj); }