protected void FixBattleSkillInfoByProPropertyData(List <int> skillProPropertyDataIDs, XDict <int, BattleSkillInfo> battleSkillInfos) { for (int i = 0; i < skillProPropertyDataIDs.get_Count(); i++) { if (DataReader <damageIncrease> .Contains(skillProPropertyDataIDs.get_Item(i))) { damageIncrease damageIncrease = DataReader <damageIncrease> .Get(skillProPropertyDataIDs.get_Item(i)); int num = -1; for (int j = 0; j < battleSkillInfos.Values.get_Count(); j++) { if (battleSkillInfos.Values.get_Item(j).skillId == damageIncrease.targetSkill) { if (j < battleSkillInfos.Keys.get_Count()) { num = battleSkillInfos.Keys.get_Item(j); } break; } } if (num != -1) { battleSkillInfos[num].attrAdd.Add(new BattleSkillAttrAdd { attrType = damageIncrease.attrType, multiAdd = damageIncrease.Value1, addiAdd = damageIncrease.Value2 }); } } } }
private void UpdateSelectRuneStoneDetail(int runeID) { if (this.currentSelectRuneStoneID <= 0) { return; } base.FindTransform("SkillBaseAttr").get_gameObject().SetActive(false); base.FindTransform("SkillRunesAttrs").get_gameObject().SetActive(true); int runeStoneLv = SkillRuneManager.Instance.GetRuneStoneLV(runeID); Runes_basic runesBasicCfgData = SkillRuneManager.Instance.GetRunesBasicCfgData(runeID); Runes runesCfgData = SkillRuneManager.Instance.GetRunesCfgData(runeID); bool flag = SkillRuneManager.Instance.CheckRuneStoneCanUpgrade(runeID); bool flag2 = SkillRuneManager.Instance.CheckRuneStoneIsUnLock(runeID); if (runesBasicCfgData != null) { this.rightItemTitleText.set_text(GameDataUtils.GetChineseContent(runesBasicCfgData.name, false)); this.runeStoneLockLVText.set_text(string.Empty); this.runeStoneLockNeedPreText.set_text(string.Empty); if (!flag2) { this.runeStoneLockLVText.set_text(string.Format("人物达到{0}级别解锁", runesBasicCfgData.unlockLv)); if (runesBasicCfgData.condition == null || runesBasicCfgData.condition.get_Count() <= 0) { this.runeStoneLockNeedPreText.set_text(string.Empty); } else { int key = runesBasicCfgData.condition.get_Item(0).key; int value = runesBasicCfgData.condition.get_Item(0).value; Runes_basic runesBasicCfgData2 = SkillRuneManager.Instance.GetRunesBasicCfgData(key); string text = string.Empty; if (runesBasicCfgData2 != null) { text = GameDataUtils.GetChineseContent(runesBasicCfgData2.name, false); } this.runeStoneLockNeedPreText.set_text(string.Format(GameDataUtils.GetChineseContent(518003, false), text, value)); } } } this.runeStoneUnLockImg.get_gameObject().SetActive(!flag2); this.runeStoneUpgradeFullImg.get_gameObject().SetActive(!flag && flag2); if (runesCfgData != null) { this.rightDownDescText.set_text(GameDataUtils.GetChineseContent(runesCfgData.desc, false)); this.rightCanUpgradeRoot.SetActive(flag); if (flag) { Items item = BackpackManager.Instance.GetItem(runesCfgData.materials.get_Item(0)); int icon = item.icon; ResourceManager.SetSprite(this.upgradeNeedMaterialImg, GameDataUtils.GetIcon(icon)); this.upgradeNeedMaterialNumText.set_text(this.GetCostContent((long)runesCfgData.materials.get_Item(1), BackpackManager.Instance.OnGetGoodCount(item.id))); int templateId = runesCfgData.protect.get_Item(0); int addRatio = 0; this.currentProtectID = templateId; long num = BackpackManager.Instance.OnGetGoodCount(templateId); Items item2 = BackpackManager.Instance.GetItem(templateId); ResourceManager.SetSprite(this.protectStoneIcon, GameDataUtils.GetIcon(item2.icon)); base.FindTransform("ProtectStoneName").GetComponent <Text>().set_text(num + "/" + 1); if (num > 0L && this.IsSelectAddProtectBtn) { addRatio = runesCfgData.protect.get_Item(1); } else { base.FindTransform("ProtectStoneName").GetComponent <Text>().set_text(string.Concat(new object[] { "<color=red>", num, "/", 1, "</color>" })); this.IsSelectAddProtectBtn = false; this.SetAddProtectBtnState(); } this.UpdateRuneStoneUpgradeSuccessRatio(runesCfgData.successRate, addRatio); } int num2 = 0; string text2 = string.Empty; for (int i = 0; i < runesCfgData.templateId.get_Count(); i++) { int key2 = runesCfgData.templateId.get_Item(i); Runes_template runes_template = DataReader <Runes_template> .Get(key2); if (runes_template != null) { for (int j = 0; j < runes_template.damageIncreaseId.get_Count(); j++) { int key3 = runes_template.damageIncreaseId.get_Item(j); damageIncrease damageIncrease = DataReader <damageIncrease> .Get(key3); if (damageIncrease != null) { num2 += damageIncrease.Value1; } } } } Runes runes2 = DataReader <Runes> .DataList.Find((Runes runes) => runes.id == runeID && runes.lv == runeStoneLv + 1); if (runes2 == null) { text2 = "MAX"; } else { int num3 = 0; for (int k = 0; k < runes2.templateId.get_Count(); k++) { int key4 = runes2.templateId.get_Item(k); Runes_template runes_template2 = DataReader <Runes_template> .Get(key4); if (runes_template2 != null) { for (int l = 0; l < runes_template2.damageIncreaseId.get_Count(); l++) { int key5 = runes_template2.damageIncreaseId.get_Item(l); damageIncrease damageIncrease2 = DataReader <damageIncrease> .Get(key5); if (damageIncrease2 != null) { num3 += damageIncrease2.Value1; } } } } text2 = (float)num3 * 0.1f + "%"; } base.FindTransform("Attr1Strengthen" + 1).get_gameObject().SetActive(true); base.FindTransform("Attr1Strengthen" + 1).FindChild("TextAttr1ValueNow").GetComponent <Text>().set_text((float)num2 * 0.1f + "%"); base.FindTransform("Attr1Strengthen" + 1).FindChild("TextAttr1ValueAfter").GetComponent <Text>().set_text(text2); for (int m = 1; m < 3; m++) { base.FindTransform("Attr1Strengthen" + (m + 1)).get_gameObject().SetActive(false); } } }