void Awake()
    {
        instance = (DualFingerDetector)target;

        //~ public enum _SmoothMethod{None, Average, WeightedAverage}
        int enumLength = Enum.GetValues(typeof(DualFingerDetector._SmoothMethod)).Length;
        smoothMethodLabel=new string[enumLength];
        smoothMethodTooltip=new string[enumLength];
        for(int i=0; i<enumLength; i++){
            smoothMethodLabel[i]=((DualFingerDetector._SmoothMethod)i).ToString();
            if((DualFingerDetector._SmoothMethod)i==DualFingerDetector._SmoothMethod.None)
                smoothMethodTooltip[i]="No smoothing will be done at all";
            if((DualFingerDetector._SmoothMethod)i==DualFingerDetector._SmoothMethod.Average)
                smoothMethodTooltip[i]="Just use the average value across as many frame as specified in SmoothIteration";
            if((DualFingerDetector._SmoothMethod)i==DualFingerDetector._SmoothMethod.WeightedAverage)
                smoothMethodTooltip[i]="Like Average but weighted, the value which takes place in more recent frame will be given a higher priority and thus will carry more weight in calculated value";
        }
    }