private void SyncUnitValues() { float unitScale = GetUnitByEnum(importUnit); if (unitScale != importScale || unitScale < 0) { importUnit = ImportUnitEnum.Custom; } if (importUnit > 0) { for (int i = 0; i < (int)ImportUnitEnum.Custom; i++) { ImportUnitEnum unit = (ImportUnitEnum)i; if (Mathf.Abs(importScale - GetUnitByEnum(unit)) < float.Epsilon) { importUnit = unit; } } } }
private float GetUnitByEnum(ImportUnitEnum unit) { switch (unit) { case ImportUnitEnum.Millimeters: return(0.001f); case ImportUnitEnum.Centimeters: return(0.01f); case ImportUnitEnum.Meters: return(1f); case ImportUnitEnum.Kilometers: return(1000f); case ImportUnitEnum.Inches: return(0.0254f); case ImportUnitEnum.Feet: return(0.3048f); case ImportUnitEnum.Miles: return(1609.34f); case ImportUnitEnum.NauticMiles: return(1852f); } return(-1f); }