Пример #1
0
    public static int GetFightValue(Dictionary <EAttr, int> attrValues)
    {
        int value = 0;

        Dictionary <EAttr, int> .Enumerator em = attrValues.GetEnumerator();
        while (em.MoveNext())
        {
            DProperty db = ReadCfgProperty.GetDataById(em.Current.Key);
            value += db.Factor * em.Current.Value;
        }
        em.Dispose();
        return(value);
    }
Пример #2
0
    public static void ShowPropertyText(UILabel label, Dictionary <EAttr, int> dict, bool showAll = true)
    {
        if (dict == null)
        {
            return;
        }
        if (label == null)
        {
            return;
        }
        Dictionary <EAttr, int> .Enumerator em = dict.GetEnumerator();
        label.text = string.Empty;
        while (em.MoveNext())
        {
            EAttr e     = em.Current.Key;
            int   value = em.Current.Value;
            if (em.Current.Value <= 0 || ReadCfgProperty.ContainsKey(e) == false)
            {
                continue;
            }
            DProperty db = ReadCfgProperty.GetDataById(e);
            string    s  = GTTools.Format(db.Desc, value);
            switch (e)
            {
            case EAttr.AP:
            case EAttr.DF:
            case EAttr.HP:
                label.Append(s);
                break;

            case EAttr.CRIT:
            case EAttr.CRITDAMAGE:
            case EAttr.DODGE:
            case EAttr.HIT:
            case EAttr.SUCK:
            case EAttr.MP:
                if (showAll)
                {
                    string str = GTTools.Format("[00ff00]装备:{0}[-]", s);
                    label.Append(str);
                }
                break;
            }
        }
    }
Пример #3
0
    public static void ShowGemPropertyText(UILabel label, int gemID, int level, bool showNext = false)
    {
        if (label.text == null)
        {
            return;
        }
        label.text = string.Empty;
        DGem      gemDB = ReadCfgGem.GetDataById(gemID);
        DGemLevel db1   = ReadCfgGemLevel.GetDataById(gemDB.Quality * 1000 + level);
        DGemLevel db2   = ReadCfgGemLevel.GetDataById(gemDB.Quality * 1000 + level + 1);

        for (int i = 0; i < gemDB.Propertys.Count; i++)
        {
            DStrengthValue gp = gemDB.Propertys[i];
            if (!ReadCfgProperty.ContainsKey(gp.Property))
            {
                continue;
            }
            DProperty propertyDB = ReadCfgProperty.GetDataById(gp.Property);
            int       ratio      = level > 0 ? db1.PropertyRatio : 100;
            string    s          = GTTools.Format(propertyDB.Desc, (int)(gp.Value * ratio / 100f));
            int       add        = (int)(gp.Value * (db2.PropertyRatio - ratio) / 100f);
            string    str        = string.Empty;
            if (level >= gp.UnlockLevel)
            {
                if (showNext)
                {
                    str = GTTools.Format("[00ff00]{0}(+{1})[-]", s, add);
                }
                else
                {
                    str = GTTools.Format("[00ff00]{0}[-]", s);
                }
            }
            else
            {
                str = GTTools.Format("[777777]{0} (宝石强化至{1}级生效)[-]", s, gp.UnlockLevel);
            }
            label.Append(str);
        }
        label.text = label.text.TrimEnd('\n');
    }
Пример #4
0
    private void ShowPropertyView(int id, int level)
    {
        DActor db = ReadCfgActor.GetDataById(id);

        currPropertyText1.text = string.Empty;
        currPropertyText2.text = string.Empty;
        mainPropertyText1.text = string.Empty;
        mainPropertyText2.text = string.Empty;

        DPetLevel levelDB = ReadCfgPetLevel.GetDataById(db.Quality * 1000 + level);

        for (int i = 0; i < levelDB.PropertyNums.Length; i++)
        {
            EAttr     propertyID = (EAttr)(i + 1);
            DProperty propertyDB = ReadCfgProperty.GetDataById(propertyID);
            currPropertyText1.Append(propertyDB.Name);
            currPropertyText2.Append("+" + levelDB.PropertyNums[i].ToString());

            mainPropertyText1.Append(propertyDB.Name);
            int extendNum = (int)(levelDB.PropertyNums[i] * levelDB.Ratio / 100f);
            mainPropertyText2.Append("+" + extendNum.ToString());
        }
    }
Пример #5
0
    private void ShowPropertyView()
    {
        DRelics db     = ReadCfgRelics.GetDataById(centerID);
        XRelics relics = DataDBSRelics.GetDataById(centerID);

        for (int i = 0; i < 3; i++)
        {
            RelicsProperty tab1       = mNowPropertys[i];
            RelicsProperty tab2       = mNexPropertys[i];
            DProperty      propertyDB = ReadCfgProperty.GetDataById(db.PropertyID[i]);
            tab1.propertyName.text = propertyDB.Name;
            tab2.propertyName.text = propertyDB.Name.ToString();

            float ratio1 = 1;
            float ratio2 = ratio1 * (20 / 100f + 1);
            float num1   = 0;
            float num2   = 0;

            if (relics == null)
            {
                num1 = ratio1 * db.PropertyNum[i];
                num2 = ratio2 * db.PropertyNum[i];
                if (propertyDB.IsPercent)
                {
                    tab1.propertyNum.text = "+" + (num1 / 100f).ToPercent();
                    tab2.propertyNum.text = "+" + (num2 / 100f).ToPercent();
                }
                else
                {
                    tab1.propertyNum.text = "+" + ((int)num1).ToString();
                    tab2.propertyNum.text = "+" + ((int)num2).ToString();
                }
            }
            else
            {
                ratio1 = Mathf.Pow(20 / 100f + 1, relics.Level + 1);
                ratio2 = ratio1 * (20 / 100f + 1);

                num1 = (db.PropertyNum[i] * ratio1);
                num2 = (db.PropertyNum[i] * ratio2);

                if (relics.Level == db.LevelExp.Length)
                {
                    if (propertyDB.IsPercent)
                    {
                        tab1.propertyNum.text = "+" + (num1 / 100f).ToPercent();
                        tab2.propertyNum.text = string.Empty;
                    }
                    else
                    {
                        tab1.propertyNum.text = "+" + ((int)num1).ToString();
                        tab2.propertyNum.text = string.Empty;
                    }

                    nowAttr.transform.localPosition = new Vector3(100, -50, 0);
                    nexAttr.SetActive(false);
                    attrRow.SetActive(false);
                }
                else
                {
                    if (propertyDB.IsPercent)
                    {
                        tab1.propertyNum.text = "+" + (num1 / 100f).ToPercent();
                        tab2.propertyNum.text = "+" + (num2 / 100f).ToPercent();
                    }
                    else
                    {
                        tab1.propertyNum.text = "+" + ((int)num1).ToString();
                        tab2.propertyNum.text = "+" + ((int)num2).ToString();
                    }
                    nexAttr.SetActive(true);
                    attrRow.SetActive(true);
                    nowAttr.transform.localPosition = new Vector3(-20, -60, 0);
                    nexAttr.transform.localPosition = new Vector3(200, -60, 0);
                }
            }
        }
    }
Пример #6
0
    public override void Init()
    {
        ReadCfgLocalString.Read("Text/Local/Data_LocalString");
        ReadCfgCurve.Read("Text/Local/Data_Curve");

        ReadCfgStageMount.Read("Text/Local/Data_StageMount");
        ReadCfgStagePartner.Read("Text/Local/Data_StagePartner");
        ReadCfgStagePet.Read("Text/Local/Data_StagePet");
        ReadCfgStageRelics.Read("Text/Local/Data_StageRelics");
        ReadCfgStageRole.Read("Text/Local/Data_StageRole");

        ReadCfgSearch.Read("Text/Local/Data_Search");
        ReadCfgRandomName.Read("Text/Local/Data_RandomNames");

        ReadCfgProperty.Read("Text/Data/Data_Property");
        ReadCfgQuality.Read("Text/Data/Data_Quality");

        ReadCfgItem.Read("Text/Data/Data_Item");
        ReadCfgEquip.Read("Text/Data/Data_Equip");
        ReadCfgAction.Read("Text/Data/Data_Action");

        ReadCfgRole.Read("Text/Data/Data_Role");
        ReadCfgRoleLevel.Read("Text/Data/Data_RoleLevel");

        ReadCfgEquip.Read("Text/Data/Data_Equip");
        ReadCfgEquipAdvance.Read("Text/Data/Data_EquipAdvance");
        ReadCfgEquipAdvanceCost.Read("Text/Data/Data_EquipAdvanceCost");
        ReadCfgEquipStreng.Read("Text/Data/Data_EquipStrengthen");
        ReadCfgEquipStrengLevel.Read("Text/Data/Data_EquipStrengthenLevel");
        ReadCfgEquipStar.Read("Text/Data/Data_EquipStar");
        ReadCfgEquipSuit.Read("Text/Data/Data_EquipSuit");

        ReadCfgGem.Read("Text/Data/Data_Gem");
        ReadCfgGemLevel.Read("Text/Data/Data_GemLevel");
        ReadCfgGemSuit.Read("Text/Data/Data_GemSuit");

        ReadCfgAward.Read("Text/Data/Data_Award");

        ReadCfgCopyMainChapter.Read("Text/Data/Data_CopyMainChapter");
        ReadCfgCopy.Read("Text/Data/Data_Copy");

        ReadCfgEffect.Read("Text/Data/Data_Effect");
        ReadCfgRelics.Read("Text/Data/Data_Relics");
        ReadCfgMachine.Read("Text/Data/Data_Machine");

        ReadCfgActorGroup.Read("Text/Data/Data_ActorGroup");
        ReadCfgActor.Read("Text/Data/Data_Actor");
        ReadCfgActorRace.Read("Text/Data/Data_ActorRace");
        ReadCfgActorModel.Read("Text/Data/Data_ActorModel");

        ReadCfgStore.Read("Text/Data/Data_Store");
        ReadCfgStoreType.Read("Text/Data/Data_StoreType");

        ReadCfgPet.Read("Text/Data/Data_Pet");
        ReadCfgPetLevel.Read("Text/Data/Data_PetLevel");

        ReadCfgPartner.Read("Text/Data/Data_Partner");
        ReadCfgPartnerLevel.Read("Text/Data/Data_PartnerLevel");
        ReadCfgPartnerWake.Read("Text/Data/Data_PartnerWake");
        ReadCfgPartnerAdvance.Read("Text/Data/Data_PartnerAdvance");
        ReadCfgPartnerWash.Read("Text/Data/Data_PartnerWash");
        ReadCfgPartnerFetter.Read("Text/Data/Data_PartnerFetter");
        ReadCfgPartnerStar.Read("Text/Data/Data_PartnerStar");

        ReadCfgTask.Read("Text/Data/Data_Task");
        ReadCfgAdventure.Read("Text/Data/Data_Adventure");
        ReadCfgSkillTalent.Read("Text/Data/Data_SkillTalent");
        ReadCfgMine.Read("Text/Data/Data_Mine");
        ReadCfgSkill.Read("Text/Data/Data_Skill");
        ReadCfgVideo.Read("Text/Data/Data_Video");
        ReadCfgDialogue.Read("Text/Data/Data_Dialogue");

        ActBuffSystem.Read("Text/Buff/Buff");
    }