void OnStateDataChanged(UIStateData data)
        {
            if (m_CurrentScale != data.modelScale)
            {
                m_ScaleDialControl.selectedValue = GetFloatFromScale(data.modelScale);
                m_ARScaleText.text = FormatScaleText(data.modelScale);
                m_CurrentScale     = data.modelScale;
            }

            if (m_ShowScaleReference != data.navigationState.showScaleReference)
            {
                m_ARScaleText.gameObject.SetActive(data.navigationState.showScaleReference);
                m_ShowScaleReference = data.navigationState.showScaleReference;
            }
        }
        private ArchitectureScale GetNearestEnumValue(float value)
        {
            ArchitectureScale returnValue = ArchitectureScale.OneToOne;
            float             distance    = float.MaxValue;

            foreach (var enumValue in m_ScaleValues)
            {
                var newValue = Math.Abs(value - Convert.ToSingle(enumValue));
                if (newValue < distance)
                {
                    returnValue = (ArchitectureScale)enumValue;
                    distance    = newValue;
                }
            }
            return(returnValue);
        }
Esempio n. 3
0
        void OnStateDataChanged(UIStateData data)
        {
            if (m_CurrentScale != data.modelScale)
            {
                m_ScaleDialControl.selectedValue = GetFloatFromScale(data.modelScale);
                m_ARScaleText.text = FormatScaleText(data.modelScale);
                m_CurrentScale     = data.modelScale;
            }

            if (m_CurrentNavigationMode != data.navigationState.navigationMode)
            {
                if (data.navigationState.navigationMode == NavigationMode.AR)
                {
                    m_ARScaleText.gameObject.SetActive(true);
                }
                else
                {
                    m_ARScaleText.gameObject.SetActive(false);
                }
                m_CurrentNavigationMode = data.navigationState.navigationMode;
            }
        }
        public static float GetFloatFromScale(ArchitectureScale scale)
        {
            var index = Array.IndexOf(Enum.GetValues(typeof(ArchitectureScale)), scale);

            return(index);
        }
 public static string FormatScaleText(ArchitectureScale scale)
 {
     return($"1 : {(int)scale}");
 }