예제 #1
0
    public double GetValue(VaryingExtension ex)
    {
        int index = 0;
        int grade = 0;

        if (ex is LevelVaryingExtension)
        {
            LevelVaryingExtension lvEx = (LevelVaryingExtension)ex;
            index = lvEx.Lv - 1;
            grade = lvEx.Grade - 1;
        }

        if (index < 0)
        {
            return(firstItem);
        }

        double result = firstItem + tolerance * (index);

        result += extendArray[YKMath.Clamp(index, 0, extendArray.Length - 1)];
        result += gradeArray[YKMath.Clamp(grade, 0, gradeArray.Length - 1)];

        return(_invert ? -result : result);
    }
예제 #2
0
 //注意:所有子类必须支持Ex不是自身对应的情况
 public abstract double GetValue(VaryingExtension ex);
예제 #3
0
 public double GetValue(VaryingExtension ex)
 {
     return(Value);
 }