private void parseShenGePowerInfo(string str) { shenGePowers = new List <ShenGePower>(); string[] sttr = str.Split('#'); for (int i = 0; i < sttr.Length; i++) { string tmp = sttr[i]; string[] strrStrings = tmp.Split('&'); ShenGePower shenGePower = new ShenGePower(); shenGePower.level = StringKit.toInt(strrStrings[0]); string tempStr = strrStrings[1]; string[] str2 = tempStr.Split('*'); List <AttrInfo> newAttrInfos = new List <AttrInfo>(); for (int k = 0; k < str2.Length; k++) { string tempp = str2[k]; string[] str3 = tempp.Split(','); AttrInfo attrInfo = new AttrInfo(); attrInfo.type = StringKit.toInt(str3[0]); attrInfo.value = StringKit.toInt(str3[1]); newAttrInfos.Add(attrInfo); } shenGePower.AttrInfos = newAttrInfos; shenGePowers.Add(shenGePower); } }
/// <summary> /// 获取召唤兽技能战斗力 /// </summary> public double getBeastEvolveSkillCombat(Card _card) { if (_card.getSkills() != null) { Skill mSkill = _card.getSkills() [0]; int skillLv = BeastEvolveManagerment.Instance.getSkillLv(); ShenGePower tmpPower = ShenGeManager.Instance.CalculateShenGePower(); int value = 0; if (tmpPower != null) { for (int i = 0; i < tmpPower.AttrInfos.Count; i++) { value = tmpPower.AttrInfos[i].value; } } double skillCombat = getBeastSkillCoeByLevel(skillLv) * (0.2 * mSkill.getSkillQuality() + 0.2) * (100 + value) / 100; return(skillCombat); } else { return(0); } }
/// <summary> /// 更新界面显示 /// </summary> public void updateUI() { List <ShenGeCaoInfo> infos = ShenGeManager.Instance.getAllEquipedShenGeSid(); shenGes = new ButtonShenGe[shengePoint.Length]; for (int i = 0; i < shengePoint.Length; i++) //清空 { Utils.RemoveAllChild(shengePoint[i].transform); } for (int i = 0; i < shengePoint.Length; i++)//初始化 { GameObject obj = NGUITools.AddChild(shengePoint[i], shengePrefab); obj.GetComponent <ButtonShenGe>().init(null, (i + 1)); obj.GetComponent <ButtonShenGe>().fatherWindow = this; shenGes[i] = obj.GetComponent <ButtonShenGe>(); } for (int i = 0; i < attrs.Length; i++) { attrs[i] = 0; } for (int k = 0; k < infos.Count; k++)//计算各类型神格所附加的影响值总和 { int index = infos[k].index; Prop tmpProp = PropManagerment.Instance.createProp(infos[k].sid); PropSample sample = PropSampleManager.Instance.getPropSampleBySid(infos[k].sid); if (sample != null) { shenGes[index - 1].init(tmpProp, index); if (tmpProp != null) { switch (tmpProp.getType()) { case PropType.PROP_SHENGE_HP: attrs[0] += tmpProp.getEffectValue(); break; case PropType.PROP_SHENGE_DEF: attrs[1] += tmpProp.getEffectValue(); break; case PropType.PROP_SHENGE_AGI: attrs[2] += tmpProp.getEffectValue(); break; case PropType.PROP_SHENGE_ATT: attrs[3] += tmpProp.getEffectValue(); break; case PropType.PROP_SHENGE_MAG: attrs[4] += tmpProp.getEffectValue(); break; } } } } for (int i = 0; i < attrsLabels.Length; i++)//赋值神格属性值 { attrsLabels[i].text = ""; if (attrs[i] != 0) { attrsLabels[i].text = "+" + attrs[i]; } } //==========神格威能========================= shenGeEffectLabel.text = LanguageConfigManager.Instance.getLanguage("NvShenShenGe_019"); ShenGePower tmpPower = ShenGeManager.Instance.CalculateShenGePower(); string str = ""; if (tmpPower != null) { for (int i = 0; i < tmpPower.AttrInfos.Count; i++) { if (tmpPower.AttrInfos[i].type == ShenGeManager.ADDATTACK) { str += LanguageConfigManager.Instance.getLanguage("NvShenShenGe_014", tmpPower.AttrInfos[i].value + "% "); } else if (tmpPower.AttrInfos[i].type == ShenGeManager.REDUECEDAMAGE) { str += LanguageConfigManager.Instance.getLanguage("NvShenShenGe_015", tmpPower.AttrInfos[i].value + "% "); } } shenGeEffectLabel.text = LanguageConfigManager.Instance.getLanguage("NvShenShenGe_013", tmpPower.level + "", str); } //==========神格额外属性========================= string str1 = ""; str1 += LanguageConfigManager.Instance.getLanguage("NvShenShenGe_014", "0% "); str1 += LanguageConfigManager.Instance.getLanguage("NvShenShenGe_015", "0% "); descLabel.text = LanguageConfigManager.Instance.getLanguage("NvShenShenGe_033", "0", str1); ShenGeExtraEffect extraValue = ShenGeManager.Instance.CalculateExtrEffectValue(); //for (int i = 0; i < attrsPerLabels.Length; i++) { // attrsPerLabels[i].text = ""; // if (value != "") // attrsPerLabels[i].text = "[FF0000]+" + value; //} string strs = ""; if (extraValue != null) { strs = ""; for (int i = 0; i < extraValue.AttrInfos.Count; i++) { if (extraValue.AttrInfos[i].type == ShenGeManager.ADDATTACK) { strs += LanguageConfigManager.Instance.getLanguage("NvShenShenGe_014", extraValue.AttrInfos[i].value + "% "); } else if (extraValue.AttrInfos[i].type == ShenGeManager.REDUECEDAMAGE) { strs += LanguageConfigManager.Instance.getLanguage("NvShenShenGe_015", extraValue.AttrInfos[i].value + "% "); } } descLabel.text = LanguageConfigManager.Instance.getLanguage("NvShenShenGe_033", extraValue.level.ToString(), strs); } //所有的神格额外效果 string effectsStr = ""; string strss = ""; List <ShenGeExtraEffect> allExtraEffectList = CommandConfigManager.Instance.GetShenGeExtraEffectsList(); for (int i = 0; i < allExtraEffectList.Count; i++) { strss = ""; if (allExtraEffectList[i] != null) { for (int k = 0; k < allExtraEffectList[i].AttrInfos.Count; k++) { if (allExtraEffectList[i].AttrInfos[k].type == ShenGeManager.ADDATTACK) { strss += LanguageConfigManager.Instance.getLanguage("NvShenShenGe_014", allExtraEffectList[i].AttrInfos[k].value + "% "); } else if (allExtraEffectList[i].AttrInfos[k].type == ShenGeManager.REDUECEDAMAGE) { strss += LanguageConfigManager.Instance.getLanguage("NvShenShenGe_015", allExtraEffectList[i].AttrInfos[k].value + "% "); } } } effectsStr += LanguageConfigManager.Instance.getLanguage("NvShenShenGe_012", allExtraEffectList[i].level.ToString(), allExtraEffectList[i].level.ToString(), strss); } AllExtraEffectLabel.text = LanguageConfigManager.Instance.getLanguage("NvShenShenGe_034", CommandConfigManager.Instance.shenGeGongMingString) + LanguageConfigManager.Instance.getLanguage("NvShenShenGe_035") + effectsStr; //==========冒险队伍战斗力========================= combatLabel.text = ArmyManager.Instance.DeepClone(ArmyManager.Instance.getArmy(1)).getAllCombat().ToString(); MaskWindow.UnlockUI(); GuideManager.Instance.doFriendlyGuideEvent(); }