| | |
| | | |
| | | |
| | | //武将突破:武将升级后需要突破才能继续升级,突破可获得潜能 |
| | | using System.Collections.Generic; |
| | | |
| | | public partial class HeroInfo |
| | | { |
| | | // 突破配置 |
| | | public HeroBreakConfig breakConfig; |
| | | public HeroBreakConfig breakConfig { get; private set;} |
| | | |
| | | // 品质突破配置 |
| | | public HeroQualityBreakConfig qualityBreakConfig; |
| | | public HeroQualityBreakConfig qualityBreakConfig { get; private set;} |
| | | |
| | | // 武将突破等级 |
| | | public int breakLevel |
| | |
| | | } |
| | | } |
| | | |
| | | protected int GetBreakCultivationPercent(HeroAttrType attrType) |
| | | Dictionary<int, int> breakAttrs = new Dictionary<int, int>(); //潜能属性id:潜能值 |
| | | //计算潜能属性 |
| | | public void RefreshBreakAttr() |
| | | { |
| | | // YYL TODO |
| | | return 0; |
| | | } |
| | | |
| | | protected int GetIFByInheritBreakPercent(HeroAttrType attrType) |
| | | { |
| | | // YYL TODO |
| | | return 0; |
| | | } |
| | | |
| | | breakAttrs.Clear(); |
| | | for (int i = 0; i < breakLevel; i++) |
| | | { |
| | | var tmpBreakConfig = HeroBreakConfig.GetHeroBreakConfig(heroId, i); |
| | | if (tmpBreakConfig == null) |
| | | continue; |
| | | for(int j = 0; j < tmpBreakConfig.AttrIDList.Length; j++) |
| | | { |
| | | int id = tmpBreakConfig.AttrIDList[j]; |
| | | if (!breakAttrs.ContainsKey(id)) |
| | | { |
| | | breakAttrs.Add(id, tmpBreakConfig.AttrValueList[j]); |
| | | } |
| | | else |
| | | { |
| | | breakAttrs[id] += tmpBreakConfig.AttrValueList[j]; |
| | | } |
| | | } |
| | | |
| | | if (tmpBreakConfig.SkillID != 0) |
| | | { |
| | | var skillConfig = SkillConfig.Get(tmpBreakConfig.SkillID); |
| | | if (skillConfig == null) continue; |
| | | if (allSkillTypeIDToID.ContainsKey(skillConfig.SkillTypeID)) |
| | | { |
| | | var tmpSkillConfig = SkillConfig.Get(allSkillTypeIDToID[skillConfig.SkillTypeID]); |
| | | if (skillConfig.SkillID > tmpSkillConfig.SkillID) |
| | | { |
| | | //取最大技能 |
| | | allSkillTypeIDToID[skillConfig.SkillTypeID] = tmpBreakConfig.SkillID; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | allSkillTypeIDToID[skillConfig.SkillTypeID] = tmpBreakConfig.SkillID; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | public int GetBreakAttrValue(int attrType) |
| | | { |
| | | int value = 0; |
| | | breakAttrs.TryGetValue(attrType, out value); |
| | | return value; |
| | | } |
| | | |
| | | public int GetBreakAttrPer(int attrType) |
| | | { |
| | | if (PlayerPropertyConfig.baseAttr2perDict.ContainsKey(attrType)) |
| | | { |
| | | var pertype = PlayerPropertyConfig.baseAttr2perDict[attrType]; |
| | | return breakAttrs.ContainsKey(pertype) ? breakAttrs[pertype] : 0; |
| | | } |
| | | return 0; |
| | | } |
| | | } |