using System.Collections.Generic; using System.Text; public partial class EquipGSParamConfig : IConfigPostProcess { private static Dictionary s_tagGSModelDict = new Dictionary();//用于记录装备评分数据 private static Dictionary _tagGsProValueDict = new Dictionary(); public void OnConfigParseCompleted() { string key = StringUtility.Contact(EquipClass, EquipColor, IsSuit, Star); s_tagGSModelDict.Add(key, this); } public static EquipGSParamConfig GetGSModel(int lv, int color, int isSuit, int star) { string key = StringUtility.Contact(lv, color, isSuit, star); EquipGSParamConfig gsModel = null; s_tagGSModelDict.TryGetValue(key, out gsModel); return gsModel; } public static Dictionary GetTagGsProValueDict(int lv, int color, int isSuit, int star) { _tagGsProValueDict.Clear(); EquipGSParamConfig gsModel = GetGSModel(lv, color, isSuit, star); if (gsModel == null) return null; _tagGsProValueDict.Add(PropertyType.CritHurtPercent, gsModel.SuperHitPerC); _tagGsProValueDict.Add(PropertyType.HeartHit, gsModel.LuckyHitRateC); _tagGsProValueDict.Add(PropertyType.EveryLvAddAtk, gsModel.PerLVAtkC); _tagGsProValueDict.Add(PropertyType.EveryLvAddHp, gsModel.PerLVMaxHPC); _tagGsProValueDict.Add(PropertyType.AddCoinsPrecent, gsModel.DropMoneyPerC); _tagGsProValueDict.Add(PropertyType.CritResis, gsModel.SuperHitReduceC); _tagGsProValueDict.Add(PropertyType.HIT, gsModel.HitC); _tagGsProValueDict.Add(PropertyType.MISS, gsModel.MissC); _tagGsProValueDict.Add(PropertyType.LuckPer, gsModel.LuckPerC); _tagGsProValueDict.Add(PropertyType.WeaponAtkPer, gsModel.BaseEquipAtkAddPerC); _tagGsProValueDict.Add(PropertyType.ArmorMaxHPPer, gsModel.BaseEquipMaxHPAddPerC); _tagGsProValueDict.Add(PropertyType.HeartResis, gsModel.LuckyHitRateReduceC); _tagGsProValueDict.Add(PropertyType.CritHurt, gsModel.SuperHitC); _tagGsProValueDict.Add(PropertyType.PetAddHurt, gsModel.PetDamPerC); _tagGsProValueDict.Add(PropertyType.ReduceCrit, gsModel.SuperHitRateReduceC); _tagGsProValueDict.Add(PropertyType.HpPercent, gsModel.MaxHPPerC); _tagGsProValueDict.Add(PropertyType.AtkPercent, gsModel.AtkPerC); _tagGsProValueDict.Add(PropertyType.SkillHurt, gsModel.SkillAtkRateC); _tagGsProValueDict.Add(PropertyType.ReduceSkillHurtPercent, gsModel.SkillAtkRateReduceC); _tagGsProValueDict.Add(PropertyType.SkillAddPerA, gsModel.SkillAddPerAC); _tagGsProValueDict.Add(PropertyType.SkillAddPerB, gsModel.SkillAddPerBC); _tagGsProValueDict.Add(PropertyType.SkillAddPerC, gsModel.SkillAddPerCC); _tagGsProValueDict.Add(PropertyType.SkillAddPerD, gsModel.SkillAddPerDC); _tagGsProValueDict.Add(PropertyType.SkillAddPerE, gsModel.SkillAddPerEC); _tagGsProValueDict.Add(PropertyType.SkillAddPerF, gsModel.SkillAddPerFC); _tagGsProValueDict.Add(PropertyType.SkillAddPerG, gsModel.SkillAddPerGC); _tagGsProValueDict.Add(PropertyType.SkillReducePerA, gsModel.SkillReducePerAC); _tagGsProValueDict.Add(PropertyType.SkillReducePerB, gsModel.SkillReducePerBC); _tagGsProValueDict.Add(PropertyType.SkillReducePerC, gsModel.SkillReducePerCC); _tagGsProValueDict.Add(PropertyType.SkillReducePerD, gsModel.SkillReducePerDC); _tagGsProValueDict.Add(PropertyType.SkillReducePerE, gsModel.SkillReducePerEC); _tagGsProValueDict.Add(PropertyType.SkillReducePerF, gsModel.SkillReducePerFC); _tagGsProValueDict.Add(PropertyType.SkillReducePerG, gsModel.SkillReducePerGC); _tagGsProValueDict.Add(PropertyType.ReduceSkillCDPer, gsModel.ReduceSkillCDPerC); _tagGsProValueDict.Add(PropertyType.AddHeartHurtPer, gsModel.LuckyHitPerC); _tagGsProValueDict.Add(PropertyType.CtrlResis, gsModel.FaintDefRateC); _tagGsProValueDict.Add(PropertyType.CritChance, gsModel.SuperHitRateC); _tagGsProValueDict.Add(PropertyType.DefyDef, gsModel.IgnoreDefRateC); _tagGsProValueDict.Add(PropertyType.DefyDefResis, gsModel.IgnoreDefRateReduceC); _tagGsProValueDict.Add(PropertyType.ProDefHPPer, gsModel.ProDefPerC); _tagGsProValueDict.Add(PropertyType.AddFinalHurtPer, gsModel.FinalHurtPerC); _tagGsProValueDict.Add(PropertyType.ReduceFinalHurtPer, gsModel.FinalHurtReducePerC); return _tagGsProValueDict; } }