DTOBuffPlayer CreateBuffPlayer(DicPlayerEntity cfg, int showOrder, int pid = 0) { if (null == cfg) { return(null); } var rawProps = cfg.GetRawProps(); var obj = new DTOBuffPlayer(); obj.Pid = pid == 0 ? cfg.Idx : pid; obj.Pos = cfg.Position; obj.Clr = cfg.CardLevel; obj.Club = cfg.Club; obj.Nationality = cfg.Nationality; obj.Props = new DTOBuffProp[rawProps.Length]; obj.PosOn = -1; obj.ShowOrder = showOrder; for (int i = 0; i < rawProps.Length; ++i) { obj.Props[i] = new DTOBuffProp { Orig = rawProps[i] }; } rawProps = null; return(obj); }
public static void TheStarPlayerCardData(TeammemberEntity teammember, DTOBuffPlayer buffPlayer) { if (null == teammember.PlayerCard || null == teammember.PlayerCard.Property) { return; } var cardProp = teammember.PlayerCard.Property; if (0 == cardProp.TheStar || cardProp.TheStar > 5) { return; } var teammemberProps = BuffUtil.GetTeammemberProps(teammember); double growPlus = 0; growPlus = 15 * cardProp.TheStar; if (growPlus > 0) { growPlus = growPlus / 100.00; } for (int i = 0; i < buffPlayer.Props.Length; ++i) { buffPlayer.Props[i].Point += teammemberProps[i]; buffPlayer.Props[i].Percent += growPlus; } }
void FillBuffPack(DTOBuffPack buffPack, bool homeFlag, Guid managerId, ArenaTeammemberFrame arenaFrame, List <TeammemberEntity> rawMembers = null, string siteId = "") { FillBuffPackRaw(buffPack, homeFlag, managerId, arenaFrame, rawMembers, siteId); var dicAll = buffPack.GetBuffPlayers(homeFlag); var lstOn = buffPack.GetOnBuffPlayers(homeFlag); if (null != dicAll && null != lstOn) { return; } var members = buffPack.GetRawMembers(homeFlag); var pids = buffPack.GetOnPids(homeFlag); var form = buffPack.GetSolution(homeFlag); dicAll = new Dictionary <Guid, DTOBuffPlayer>(members.Count); lstOn = new List <DTOBuffPlayer>(12); int pid = 0; Guid tid = Guid.Empty; DicPlayerEntity cfg = null; DTOBuffPlayer buffP = null; int showOrder = 1; foreach (var kvp in form.PlayerDic) { pid = kvp.Key; cfg = PlayersdicCache.Instance.GetPlayer(pid); if (null == cfg || !pids.TryGetValue(pid, out tid)) { throw new Exception(string.Format("BuffDataCore:Manager[{0}] Miss Player[{1}] With Config Or Member", managerId, pid)); } buffP = CreateBuffPlayer(cfg, showOrder++); buffP.Pos = buffP.PosOn = kvp.Value.Position; buffP.ActionSkill = kvp.Value.SkillCode; dicAll[tid] = buffP; lstOn.Add(buffP); } foreach (var kvp in members) { pid = kvp.Value.PlayerId; tid = kvp.Key; if (dicAll.ContainsKey(tid)) { continue; } cfg = PlayersdicCache.Instance.GetPlayer(pid); if (null == cfg) { continue; } buffP = CreateBuffPlayer(cfg, showOrder++, -cfg.Idx); dicAll[tid] = buffP; } buffPack.SetBuffPlayers(homeFlag, dicAll); buffPack.SetOnBuffPlayers(homeFlag, lstOn); }
protected IEnumerable <DTOBuffPlayer> GetRootDest(DTOBuffPack buffPack, bool homeFlag, Guid memberId, int dstDir) { if (null == buffPack) { return(null); } switch (dstDir) { case 0: //己方全体 var players = buffPack.GetBuffPlayers(homeFlag); if (null == players) { return(null); } return(players.Values); case 1: //己方场上 var onPlayers = buffPack.GetOnBuffPlayers(homeFlag); if (null == onPlayers) { return(null); } return(onPlayers); case 9: //自己 players = buffPack.GetBuffPlayers(homeFlag); DTOBuffPlayer player = null; if (players.TryGetValue(memberId, out player)) { return new DTOBuffPlayer[] { player } } ; return(null); case 10: //对方全体 players = buffPack.GetBuffPlayers(!homeFlag); if (null == players) { return(null); } return(players.Values); case 11: //对方场上 onPlayers = buffPack.GetOnBuffPlayers(!homeFlag); if (null == onPlayers) { return(null); } return(onPlayers); default: return(null); } }
public static void FillPlayerCardData(DTOBuffPlayer buffPlayer, TeammemberEntity teammember) { try { if (null == teammember.PlayerCard || null == teammember.PlayerCard.Property) { return; } var cardProp = teammember.PlayerCard.Property; if (null == cardProp.Potential) { return; } ConfigPotentialEntity cfg; double point, percent; foreach (var item in cardProp.Potential) { cfg = PlayersdicCache.Instance.GetPotentialConfig(item.Level, item.Idx); if (null == cfg) { continue; } if (cfg.BuffType == 2) { point = 0; percent = Convert.ToDouble(item.Buff) / 100d; } else { point = Convert.ToDouble(item.Buff); percent = 0; } if (cfg.BuffId < 1000) { buffPlayer.SBMList.Add(BuffCache.Instance().GetVarySkillCode(cfg.BuffId, point, percent)); } else { buffPlayer.AddMatchBuff(point, percent, cfg.BuffId); } } } catch (Exception ex) { LogHelper.Insert(ex, "TeammemberDataHelper:FillPlayerCardData"); } }
public static void FillTeammemberLevelData(TeammemberEntity teammember, DTOBuffPlayer buffPlayer) { var teammemberProps = BuffUtil.GetTeammemberProps(teammember); var level = teammember.Level; double levelPlus = 0; if (level > 1) { levelPlus = (level - 1) / 100.00; } for (int i = 0; i < buffPlayer.Props.Length; ++i) { buffPlayer.Props[i].Point += teammemberProps[i]; buffPlayer.Props[i].Percent += levelPlus; } }
public static void FillTeammemberGrowData(TeammemberEntity teammember, DTOBuffPlayer buffPlayer) { //var teammemberProps = BuffUtil.GetTeammemberProps(teammember); //var growCache = CacheFactory.TeammemberCache.GetGrow(teammember.GrowLevel); //double growPlus = 0; //if (growCache != null) //{ // growPlus = growCache.PlusPercent; // if (growPlus > 0) // { // growPlus = growPlus / 100.00; // } //} //for (int i = 0; i < buffPlayer.Props.Length; ++i) //{ // buffPlayer.Props[i].Point += teammemberProps[i]; // buffPlayer.Props[i].Percent += growPlus; //} }
void FillBuffMemberProp(NbManagerbuffmemberEntity member, DTOBuffPlayer player) { var props = player.Props; member.SpeedCount += props[0].BuffValue; member.ShootCount += props[1].BuffValue; member.FreeKickCount += props[2].BuffValue; member.BalanceCount += props[3].BuffValue; member.PhysiqueCount += props[4].BuffValue; member.PowerConst += props[5].BuffValue; member.AggressionCount += props[6].BuffValue; member.DisturbCount += props[7].BuffValue; member.InterceptionCount += props[8].BuffValue; member.DribbleCount += props[9].BuffValue; member.PassCount += props[10].BuffValue; member.MentalityCount += props[11].BuffValue; member.ResponseCount += props[12].BuffValue; member.PositioningCount += props[13].BuffValue; member.HandControlCount += props[14].BuffValue; member.AccelerationCount += props[15].BuffValue; member.BounceCount += props[16].BuffValue; player.ClearBuff(); }
NbManagerbuffmemberEntity CreateBuffMember(Guid tid, DTOBuffPlayer player) { if (null == player) { return(null); } var member = new NbManagerbuffmemberEntity(); member.Tid = tid; member.Pid = player.AsPid; member.PPos = player.Pos; member.PPosOn = player.PosOn; member.Level = player.Level; member.Strength = player.Strength; member.IsMain = player.OnFlag; member.ShowOrder = player.ShowOrder; var props = player.Props; member.SpeedConst = props[0].Orig; member.ShootConst = props[1].Orig; member.FreeKickConst = props[2].Orig; member.BalanceConst = props[3].Orig; member.PhysiqueConst = props[4].Orig; member.PowerConst = props[5].Orig; member.AggressionConst = props[6].Orig; member.DisturbConst = props[7].Orig; member.InterceptionConst = props[8].Orig; member.DribbleConst = props[9].Orig; member.PassConst = props[10].Orig; member.MentalityConst = props[11].Orig; member.ResponseConst = props[12].Orig; member.PositioningConst = props[13].Orig; member.HandControlConst = props[14].Orig; member.AccelerationConst = props[15].Orig; member.BounceConst = props[16].Orig; return(member); }
static DTOBuffPlayer BuildPlayer(LocalTransferPlayerEntity playerEntity) { var cfg = LocalHelper.LocalCache.Players.Find(d => d.Idx == playerEntity.PlayerId); var rawProps = GetTeammemberProps(playerEntity); var obj = new DTOBuffPlayer(); obj.Pid = playerEntity.PlayerId; obj.Pos = playerEntity.Position; obj.Clr = cfg == null?0:cfg.CardLevel; obj.Props = new DTOBuffProp[rawProps.Length]; for (int i = 0; i < rawProps.Length; ++i) { obj.Props[i] = new DTOBuffProp { Orig = rawProps[i] }; } rawProps = null; obj.Level = 1; obj.SBMList = new List <string>(); obj.Strength = 0; obj.ActionSkill = playerEntity.Skill; obj.StarSkill = playerEntity.StarSkill; return(obj); }
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); }
void FillBuffMemberSkill(DTOBuffMemberView view, NbManagerbuffmemberEntity member, DTOBuffPlayer player) { member.MatchPropList = player.MatchPropList; member.MatchBoostList = player.MatchBoostList; if (null == view.ReadySkillList) { view.ReadySkillList = new List <string>(); } member.LiveSkillList = new List <string>(); member.FirmSkillList = new List <string>(); if (null != player.SBMList) { var rankSkills = BuffCache.Instance().GetRankedSkillList(player.SBMList); view.ReadySkillList.AddRange(rankSkills[0]); member.LiveSkillList.AddRange(rankSkills[1]); member.FirmSkillList.AddRange(rankSkills[2]); } var skill = player.ActionSkill; if (!string.IsNullOrEmpty(skill)) { member.LiveSkillList.Add(skill); } skill = player.StarPlusSkill; if (!string.IsNullOrEmpty(skill)) { member.LiveSkillList.Add(skill); } skill = player.StarSkill; if (!string.IsNullOrEmpty(skill)) { member.LiveSkillList.AddRange(player.AsStarSkill); } }
public static void FillEquipData(DTOBuffPlayer buffPlayer, EquipmentUsedEntity equipment, ref Dictionary <int, List <int> > suitDic, ref Dictionary <int, int> suitTypeDic) { try { var strengthPlus = CacheFactory.TeammemberCache.GetStrengthPlus(buffPlayer.Strength); for (int i = 0; i < buffPlayer.Props.Length; ++i) { buffPlayer.Props[i].Percent += strengthPlus / 100.00; } if (equipment != null) { var equipmentProperty = equipment.Property; var itemDic = CacheFactory.ItemsdicCache.GetEquipmentByItemCode(equipment.ItemCode); if (buffPlayer.OnFlag && itemDic != null && itemDic.SuitId > 0) { var suitCode = itemDic.Idx % 1000; if (suitDic.ContainsKey(itemDic.SuitId)) { var list = suitDic[itemDic.SuitId]; if (list == null) { list = new List <int>(); } if (!list.Contains(suitCode)) { list.Add(suitCode); } suitDic[itemDic.SuitId] = list; } else { suitDic.Add(itemDic.SuitId, new List <int>() { suitCode }); suitTypeDic.Add(itemDic.SuitId, itemDic.SuitType); } } double equipPlus = 0; foreach (var plus in equipmentProperty.PropertyPluses) { equipPlus = plus.PlusValue * (1 + equipmentProperty.Level * 0.1); if (plus.PlusType == (int)EnumPlusType.Percent) { buffPlayer.Props[plus.PropertyId - 1].Percent += equipPlus / 100.00; } else { buffPlayer.Props[plus.PropertyId - 1].Point += equipPlus; } } if (equipmentProperty.EquipmentSlots != null) { foreach (var equipmentSlot in equipmentProperty.EquipmentSlots) { if (equipmentSlot.BallSoul != null) { //var sbm = CacheFactory.ManagerDataCache.GetSkillbuff(EnumSBMType.BallSoul, equipmentSlot.BallSoul.ItemCode); //buffPlayer.SBMList.AddRange(sbm); } } } } } catch (Exception ex) { LogHelper.Insert(ex, "TeammemberDataHelper:FillEquipData"); } }