コード例 #1
0
        private float GetStrengthenMoney(int curlevel, int nextLevel, int expTotal)
        {
            EquipmentInfo equipmentInfo   = EquipmentStrengthenProxy.instance.StrengthenEquipInfo;
            int           expTempTotal    = expTotal;
            float         moneyTotal      = 0;
            float         partMoney       = 0;
            int           goldNeed        = 0;
            float         addExpPercent   = 0;
            float         totalExpPercent = 0;

            if (expTotal != 0)
            {
                for (int i = curlevel; i <= nextLevel; i++)
                {
                    EquipmentStrengthenNeedData needData = EquipmentStrengthenNeedData.GetStrengthenNeedDataByLv(i);
                    if (needData == null)
                    {
                        needData = EquipmentStrengthenNeedData.LastNeedData();
                    }
                    goldNeed = needData.GetGoldNeedByStar(equipmentInfo.equipmentData.star);
                    if (i == nextLevel)
                    {
                        partMoney        = (expTempTotal + 0.0f) / expTotal * goldNeed;
                        moneyTotal      += partMoney;
                        addExpPercent    = (expTempTotal + 0.0f) / needData.exp_need;
                        totalExpPercent += addExpPercent;
                    }
                    else if (i == curlevel)
                    {
                        int exp = needData.exp_need - equipmentInfo.strengthenExp;

                        partMoney        = (exp + 0.0f) / expTotal * goldNeed;
                        moneyTotal      += partMoney;
                        expTempTotal    -= exp;
                        addExpPercent    = (exp + 0.0f) / needData.exp_need;
                        totalExpPercent += addExpPercent;
                    }
                    else
                    {
                        partMoney        = (needData.exp_need + 0.0f) / expTotal * goldNeed;
                        moneyTotal      += partMoney;
                        expTempTotal    -= needData.exp_need;
                        totalExpPercent += 1;
                    }
                }
            }
            addExpText.text = string.Format("+{0}% EXP", (int)(totalExpPercent * 100));
            return(moneyTotal);
        }