using System; using System.Collections.Generic; using UnityEngine; namespace UnityTest { public class FloatComparer : ComparerBaseGeneric { public enum CompareTypes { Equal, NotEqual, Greater, Less } public CompareTypes compareTypes; public double floatingPointError = 0.0001f; protected override bool Compare(float a, float b) { switch (compareTypes) { case CompareTypes.Equal: return Math.Abs(a - b) < floatingPointError; case CompareTypes.NotEqual: return Math.Abs(a - b) > floatingPointError; case CompareTypes.Greater: return a > b; case CompareTypes.Less: return a < b; } throw new Exception(); } public override int GetDepthOfSearch() { return 3; } } }