예제 #1
0
    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
                    });
                }
            }
        }
    }
예제 #2
0
    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);
            }
        }
    }