コード例 #1
0
    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;
                }
            }
        }
    }
コード例 #2
0
    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);
    }