Example #1
0
    //다음 스펙값 반환 => 1레벨수치+ (1레벨수치*0.05*(현재레벨-1))
    public static float Get_nextSpec(float InitSpec, int nextRefLv, bool isRound, float ratio = 0.05f, int constVal = 1)
    {
        //float ratio = Dic_infosRank[st_UnitInfo.InfosUnit.UnitRk].AddAblty / 1000f;
        float Calspec = 0;
        float _ratio  = ratio;

        float refv = (float)nextRefLv;

        if (InitSpec != 0)        // 다음능력치 = 최초능력치 + (최초능력치 *  비율 * (강화레벨-const))
        {
            Calspec = InitSpec + (InitSpec * (_ratio) * (refv - constVal));
        }
        else        // 다음능력치   비율 * (강화레벨-const)
        {
            Calspec = (_ratio) * (refv - constVal);
        }

        float _nextSpec = 0;

        if (isRound)
        {
            //_nextSpec = (float)Math.Round(Calspec, MidpointRounding.AwayFromZero);
            _nextSpec = StaticMethod.roundFloat(Calspec, 1);
        }
        else
        {
            //float v = (float)Math.Round((Calspec / 0.1f), 2);
            //_nextSpec = (float)Math.Round(v * 0.1f, 2);
            _nextSpec = StaticMethod.roundFloat(Calspec, 2);
        }
        return(_nextSpec);
    }