using System.Collections.Generic; using System.Text; namespace TableConfig { public partial class EquipGSParamConfig : ConfigBase, IConfigPostProcess { private static Dictionary s_tagGSModelDict = new Dictionary();//用于记录装备评分数据 private static Dictionary _tagGsProValueDict = new Dictionary(); public void OnConfigParseCompleted() { string key = StringUtility.Contact(EquipClass, EquipColor, EquipStar); s_tagGSModelDict.Add(key, this); } public static EquipGSParamConfig GetTagGSModel(int lv, int color, int star) { string key = StringUtility.Contact(lv, color, star); EquipGSParamConfig gsModel = null; s_tagGSModelDict.TryGetValue(key, out gsModel); return gsModel; } public static Dictionary GetTagGsProValueDict(int lv, int color, int star) { _tagGsProValueDict.Clear(); EquipGSParamConfig gsModel = GetTagGSModel(lv, color, star); if (gsModel == null) return null; _tagGsProValueDict.Add(AttrEnum.AtkPrecent, gsModel.AtkPerC); _tagGsProValueDict.Add(AttrEnum.AddHurt, gsModel.DamagePerC); _tagGsProValueDict.Add(AttrEnum.CritChance, gsModel.SuperHitRateC); _tagGsProValueDict.Add(AttrEnum.CritHurtPrecent, gsModel.SuperHitPerC); _tagGsProValueDict.Add(AttrEnum.ReduceHurt, gsModel.DamReduceC); _tagGsProValueDict.Add(AttrEnum.HpPrecent, gsModel.MaxHPPerC); _tagGsProValueDict.Add(AttrEnum.DefencePrecent, gsModel.DefPerC); _tagGsProValueDict.Add(AttrEnum.HeartHit, gsModel.LuckyHitRateC); _tagGsProValueDict.Add(AttrEnum.PetAddHurt, gsModel.PetDamPerC); _tagGsProValueDict.Add(AttrEnum.EveryLvAddAtk, gsModel.PerLVAtkC); _tagGsProValueDict.Add(AttrEnum.DodgePrecent, gsModel.MissRateC); _tagGsProValueDict.Add(AttrEnum.HitPrecent, gsModel.HitRateC); _tagGsProValueDict.Add(AttrEnum.HurtReflect, gsModel.DamBackPerC); _tagGsProValueDict.Add(AttrEnum.EveryLvAddHp, gsModel.PerLVMaxHPC); _tagGsProValueDict.Add(AttrEnum.AddEquipDropPrecent, gsModel.DropEquipPerC); _tagGsProValueDict.Add(AttrEnum.AddCoinsPrecent, gsModel.DropMoneyPerC); _tagGsProValueDict.Add(AttrEnum.DefyDefResis, gsModel.IgnoreDefRateReduceC); _tagGsProValueDict.Add(AttrEnum.DefChance, gsModel.DamChanceDefC); _tagGsProValueDict.Add(AttrEnum.CritResis, gsModel.SuperHitReduceC); _tagGsProValueDict.Add(AttrEnum.SkillHurt, gsModel.SkillAtkRateC); _tagGsProValueDict.Add(AttrEnum.MoveSpeedPrecent, gsModel.SpeedPerC); _tagGsProValueDict.Add(AttrEnum.ATKSPEED, gsModel.AtkSpeedC); _tagGsProValueDict.Add(AttrEnum.SkillHurtPrecent, gsModel.SkillAtkRateReduceC); return _tagGsProValueDict; } } }