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); }
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}"); }